mirror of
https://git.rwth-aachen.de/acs/public/villas/web-backend-go/
synced 2025-03-30 00:00:12 +01:00
49 lines
813 B
Go
49 lines
813 B
Go
package common
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/jinzhu/gorm"
|
|
_ "github.com/jinzhu/gorm/dialects/postgres"
|
|
"log"
|
|
)
|
|
|
|
const (
|
|
DB_NAME = "villasdb"
|
|
)
|
|
|
|
func StartDB() {
|
|
// Init connection's information
|
|
dbinfo := fmt.Sprintf("host=/tmp sslmode=disable dbname=%s", DB_NAME)
|
|
db, err := gorm.Open("postgres", dbinfo)
|
|
checkErr(err)
|
|
defer db.Close()
|
|
|
|
// Check that db is reachable
|
|
err = db.DB().Ping()
|
|
checkErr(err)
|
|
|
|
// Migrate one model
|
|
db.AutoMigrate(&Simulator{})
|
|
|
|
// Create
|
|
db.Create(&Simulator{UUID: "12"})
|
|
|
|
// Read
|
|
var dummy Simulator
|
|
db.First(&dummy, 1)
|
|
fmt.Printf("%s\n", dummy.UUID)
|
|
|
|
// Update
|
|
db.Model(&dummy).Update("UUID", "100")
|
|
db.First(&dummy, 1)
|
|
fmt.Printf("%s\n", dummy.UUID)
|
|
|
|
// Delete
|
|
db.Unscoped().Delete(&dummy)
|
|
}
|
|
|
|
func checkErr(err error) {
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|