Files
nixcn-cms/data/data.go
2025-12-23 23:46:00 +08:00

40 lines
802 B
Go

package data
import (
"nixcn-cms/data/drivers"
log "github.com/sirupsen/logrus"
"github.com/spf13/viper"
)
var Database *drivers.DBClient
func Init() {
// Init database
dbType := viper.GetString("database.type")
exDSN := drivers.ExternalDSN{
Host: viper.GetString("database.host"),
Name: viper.GetString("database.name"),
Username: viper.GetString("database.username"),
Password: viper.GetString("database.password"),
}
if dbType != "postgres" {
log.Fatal("[Database] Only support postgras db!")
}
// Conect to db
db, err := drivers.Postgres(exDSN)
if err != nil {
log.Fatal("[Database] Error connecting to db!")
}
// Auto migrate
err = db.DB.AutoMigrate(&User{})
if err != nil {
log.Error("[Database] Error migrating database: ", err)
}
Database = db
}