package database import ( "fmt" "gofaster/internal/shared/config" "gorm.io/driver/postgres" "gorm.io/gorm" ) func NewDB(cfg *config.DBConfig) (*gorm.DB, error) { dsn := fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%s sslmode=disable client_encoding=UTF8", cfg.Host, cfg.User, cfg.Password, cfg.Name, cfg.Port) db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{}) if err != nil { return nil, err } // 自动迁移将在业务模块中单独处理 return db, nil }