package database import ( "fmt" "log" "wx_service/config" "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" ) var DB *gorm.DB func InitDB() error { cfg := config.AppConfig.Database dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local", cfg.User, cfg.Password, cfg.Host, cfg.Port, cfg.DBName, ) var err error DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{ Logger: logger.Default.LogMode(logger.Info), }) if err != nil { return fmt.Errorf("连接数据库失败: %v", err) } log.Println("数据库连接成功") return nil } func AutoMigrate(models ...interface{}) error { return DB.AutoMigrate(models...) }