2020-02-24 18:01:59 +00:00
|
|
|
package database
|
|
|
|
|
|
|
|
import (
|
|
|
|
"backend/config"
|
2020-02-26 09:00:15 +00:00
|
|
|
"backend/database/bolt"
|
2020-02-24 18:01:59 +00:00
|
|
|
"backend/database/mysql"
|
|
|
|
"backend/database/postgresql"
|
|
|
|
"backend/database/schema"
|
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
DB DataAccess
|
|
|
|
)
|
|
|
|
|
|
|
|
type DataAccess interface {
|
2020-02-26 09:00:15 +00:00
|
|
|
Insert(*schema.TelemetryData) error
|
2020-02-24 18:01:59 +00:00
|
|
|
FetchByUUID(string) (*schema.TelemetryData, error)
|
|
|
|
FetchLast100() ([]schema.TelemetryData, error)
|
|
|
|
}
|
|
|
|
|
|
|
|
func SetDBInfo(conf *config.Config) {
|
|
|
|
switch conf.DatabaseType {
|
|
|
|
case "postgresql":
|
|
|
|
DB = postgresql.Open(conf.DatabaseHostname, conf.DatabaseUsername, conf.DatabasePassword, conf.DatabaseName)
|
|
|
|
case "mysql":
|
|
|
|
DB = mysql.Open(conf.DatabaseHostname, conf.DatabaseUsername, conf.DatabasePassword, conf.DatabaseName)
|
2020-02-26 09:00:15 +00:00
|
|
|
case "bolt":
|
|
|
|
DB = bolt.Open(conf.DatabaseFile)
|
2020-02-24 18:01:59 +00:00
|
|
|
}
|
|
|
|
}
|