12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package models
- import (
- "fmt"
- "log/slog"
- )
- import (
- "gorm.io/driver/postgres"
- "gorm.io/gorm"
- )
- import (
- "protocol-server/common"
- "protocol-server/logger"
- )
- var (
- DB *gorm.DB
- err error
- )
- func panicHelper(err error) {
- if err != nil {
- panic(err)
- }
- }
- func SetupGorm(m bool) {
- slog.Info("setup gorm")
- dsn := fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%d sslmode=disable TimeZone=Asia/Shanghai",
- common.PostgresConfig.Ip,
- common.PostgresConfig.Username,
- common.PostgresConfig.Password,
- common.PostgresConfig.Name,
- common.PostgresConfig.Port,
- )
- if m {
- db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
- panicHelper(err)
- migrate(db)
- sqlDB, err := db.DB()
- panicHelper(err)
- panicHelper(sqlDB.Close())
- }
- if common.LoggerConfig.LogLevel == "debug" {
- DB, err = gorm.Open(postgres.Open(dsn), &gorm.Config{
- Logger: logger.NewGormLogger(logger.WithGroup("gorm")),
- })
- } else {
- DB, err = gorm.Open(postgres.Open(dsn), &gorm.Config{})
- }
- panicHelper(err)
- slog.Info("setup gorm ok")
- }
|