Files
old-backend/shared/database.go

51 lines
1.3 KiB
Go
Raw Normal View History

package shared
import (
"fmt"
2023-09-06 11:58:33 +02:00
"log"
2023-09-11 08:08:24 +02:00
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/postgres"
2023-10-17 10:32:52 +02:00
"gitlab.com/pactual1/backend/config"
"gitlab.com/pactual1/backend/models"
)
var db *gorm.DB
2023-09-05 11:37:03 +02:00
2023-09-18 12:27:40 +02:00
func Init() error {
host := config.AppConfig.Database.HostName
user := config.AppConfig.Database.UserName
2023-09-06 11:58:33 +02:00
// port := config.AppConfig.Database.Port
2023-09-18 12:27:40 +02:00
dbName := config.AppConfig.Database.DatabaseName
password := config.AppConfig.Database.Password
2023-09-18 12:27:40 +02:00
dbString := fmt.Sprintf("host=%s user=%s dbname=%s sslmode=disable password=%s", host, user, dbName, password)
2023-09-06 11:58:33 +02:00
// db, err = gorm.Open("postgres", "host=localhost user=postgres dbname=postgres sslmode=disable password=root")
var err error
2023-10-30 19:21:43 +01:00
2023-09-06 11:58:33 +02:00
// //PostgreSQL
2023-09-18 12:27:40 +02:00
db, err = gorm.Open("postgres", dbString)
db.LogMode(true)
if err != nil {
2023-09-06 11:58:33 +02:00
log.Println("Error initializing the database: ", err)
return err
}
2023-09-05 11:37:03 +02:00
//TODO AUTOMIGRATE models once we have them
2023-10-30 19:21:43 +01:00
db.AutoMigrate(&models.User{}, &models.Company{}, &models.Device{}, &models.DeviceInfo{},
2023-10-09 18:23:44 +02:00
&models.Contract{}, &models.ContractInfo{},
2023-10-30 19:21:43 +01:00
&models.ProductTemplate{}, &models.TextTemplate{}, &models.Invoice{}, &models.InvoiceItem{}, &models.Notification{}, models.PasswordTokens{})
2023-09-06 11:58:33 +02:00
return nil
}
func GetDb() *gorm.DB {
return db
}
func CloseDb() {
db.Close()
}