Files
universal-data-ingest/src/udi/database/database.go

46 lines
914 B
Go

package database
import (
"log"
//"time"
"gorm.io/driver/postgres"
"gorm.io/gorm"
)
type DatabaseHandle struct {
initialized bool
dbh *gorm.DB
}
func NewDatabaseHandle(dsn string) *DatabaseHandle {
var db DatabaseHandle
conn, err := gorm.Open(postgres.Open(dsn))
if err != nil {
log.Printf("Unable to open database connection: %s", err)
db.initialized = false
} else {
db.dbh = conn
db.initialized = true
log.Println("Database connection opened")
}
return &db
}
func (dbh *DatabaseHandle) StoreMeasurement(measurement *Measurement) {
if ! dbh.initialized {
log.Println("Database connection not initialized, can not store, measurement lost")
return
}
result := dbh.dbh.Create(measurement)
if result.Error != nil {
log.Printf("Unable to insert measurement: %s", result.Error)
return
}
log.Println("Successfully stored measurement")
}