2023-09-04 11:13:21 +02:00
|
|
|
package shared
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"fmt"
|
2023-09-05 11:37:03 +02:00
|
|
|
"novatech/config"
|
2023-09-04 11:13:21 +02:00
|
|
|
|
|
|
|
|
"github.com/jinzhu/gorm"
|
|
|
|
|
_ "github.com/jinzhu/gorm/dialects/postgres"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var db *gorm.DB
|
|
|
|
|
var err error
|
|
|
|
|
|
2023-09-05 11:37:03 +02:00
|
|
|
|
2023-09-04 11:13:21 +02:00
|
|
|
func Init() {
|
2023-09-05 11:37:03 +02:00
|
|
|
host := config.AppConfig.Database.HostName
|
|
|
|
|
user := config.AppConfig.Database.UserName
|
|
|
|
|
port := config.AppConfig.Database.Port
|
|
|
|
|
dbName := config.AppConfig.Database.DatabaseName
|
|
|
|
|
password := config.AppConfig.Database.Password
|
2023-09-04 11:13:21 +02:00
|
|
|
|
2023-09-05 11:37:03 +02:00
|
|
|
dbString:= fmt.Sprintf("postgres, host=%s:%s user=%s dbname=%s sslmode=disable password=%s",host,port,user,dbName,password)
|
2023-09-04 11:13:21 +02:00
|
|
|
|
2023-09-05 11:37:03 +02:00
|
|
|
//PostgreSQL
|
|
|
|
|
db, err = gorm.Open(dbString)
|
2023-09-04 11:13:21 +02:00
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
fmt.Println(err)
|
|
|
|
|
}
|
2023-09-05 11:37:03 +02:00
|
|
|
//TODO AUTOMIGRATE models once we have them
|
2023-09-04 11:13:21 +02:00
|
|
|
//db.AutoMigrate(&models.Person{})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func GetDb() *gorm.DB {
|
|
|
|
|
return db
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func CloseDb() {
|
|
|
|
|
db.Close()
|
|
|
|
|
}
|