mysql.go 717 B

1234567891011121314151617181920212223242526272829303132
  1. package database
  2. import (
  3. "gorm.io/driver/mysql"
  4. "gorm.io/gorm"
  5. "gorm.io/gorm/logger"
  6. zapLogger "fwh-toolbox-server/logger"
  7. "fwh-toolbox-server/models/fwh_pro/query_fwh_pro"
  8. )
  9. var MySQL *gorm.DB
  10. func InitMySQL(dsn string) (*gorm.DB, error) {
  11. db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
  12. // Logger: logger.Default.LogMode(logger.Info),
  13. Logger: NewGormZapLogger(zapLogger.Sugar, logger.Info),
  14. })
  15. if err != nil {
  16. zapLogger.Sugar.Errorf("failed to connect to MySQL: %v", err)
  17. return nil, err
  18. }
  19. MySQL = db
  20. // 初始化Query
  21. query_fwh_pro.SetDefault(db)
  22. return db, nil
  23. }
  24. // 示例DSN格式:
  25. // user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local&readTimeout=30s