mirror of
https://github.com/XShengTech/MEGREZ.git
synced 2026-02-03 17:52:46 +08:00
40 lines
816 B
Go
40 lines
816 B
Go
package database
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"gorm.io/driver/postgres"
|
|
"gorm.io/gorm"
|
|
|
|
_logger "megrez/libs/logger"
|
|
"megrez/services/config"
|
|
"megrez/services/logger"
|
|
|
|
__logger "gorm.io/gorm/logger"
|
|
)
|
|
|
|
var l *_logger.LoggerStruct
|
|
|
|
var DB *gorm.DB
|
|
|
|
func Connect() (err error) {
|
|
l = logger.Logger.Clone()
|
|
l.SetModel("database")
|
|
l.SetFunction("Connect")
|
|
|
|
c := config.GetDatabase()
|
|
dsn := fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%d sslmode=disable TimeZone=Asia/Shanghai", c.Host, c.Username, c.Password, c.Database, c.Port)
|
|
DB, err = gorm.Open(postgres.Open(dsn), &gorm.Config{
|
|
PrepareStmt: true,
|
|
Logger: __logger.Default.LogMode(__logger.Silent),
|
|
})
|
|
if err != nil {
|
|
l.Fatal("Failed to connect to database", err)
|
|
} else {
|
|
l.Info("Database Connect Success")
|
|
}
|
|
|
|
autoMigrate()
|
|
return
|
|
}
|