Files
old-backend/shared/database.go
2023-11-22 11:56:25 +01:00

53 lines
1.3 KiB
Go

package shared
import (
"fmt"
"log"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/postgres"
"gitlab.com/pactual1/backend/config"
"gitlab.com/pactual1/backend/models"
)
var db *gorm.DB
func Init() error {
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
dbString := fmt.Sprintf("host=%s user=%s dbname=%s sslmode=disable password=%s", host, user, dbName, password)
// db, err = gorm.Open("postgres", "host=localhost user=postgres dbname=postgres sslmode=disable password=root")
var err error
// //PostgreSQL
db, err = gorm.Open("postgres", dbString)
db.LogMode(true)
if err != nil {
log.Println("Error initializing the database: ", err)
return err
}
//TODO AUTOMIGRATE models once we have them
db.AutoMigrate(&models.User{}, &models.Company{}, &models.Device{}, &models.DeviceInfo{},
&models.Contract{}, &models.ContractInfo{},
&models.ProductTemplate{}, &models.TextTemplate{}, &models.Invoice{}, &models.InvoiceItem{},
&models.Notification{}, models.PasswordTokens{}, models.SessionToken{})
return nil
}
func GetDb() *gorm.DB {
return db
}
func CloseDb() {
db.Close()
}