Files
rock1hu-bot/local/utl/db/db.go
Fran Jurmanović f5a7749ad9 add config
2024-09-30 23:08:06 +02:00

42 lines
770 B
Go

package db
import (
"log"
"os"
"rockhu-bot/local/model"
"time"
"go.uber.org/dig"
"gorm.io/driver/postgres"
"gorm.io/gorm"
)
func Start(di *dig.Container) {
dbConn := os.Getenv("DB_CONNECTION")
db, err := gorm.Open(postgres.New(postgres.Config{
DSN: dbConn,
PreferSimpleProtocol: true,
}), &gorm.Config{
NowFunc: func() time.Time {
utc, _ := time.LoadLocation("")
return time.Now().In(utc)
}})
if err != nil {
log.Panic("failed to connect database")
}
err = di.Provide(func() *gorm.DB {
return db
})
if err != nil {
log.Panic("failed to bind database")
}
Migrate(db)
}
func Migrate(db *gorm.DB) {
err := db.AutoMigrate(&model.ConcertModel{})
if err != nil {
log.Panic("failed to migrate model.ApiModel")
}
}