package initialize import ( "datebase_test/internal/pkg/configs" "fmt" "github.com/go-redis/redis" "gorm.io/driver/mysql" "gorm.io/gorm" ) //数据库初始化 func InitMysql(config *configs.Config)(*gorm.DB, error){ dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=%s&parseTime=True&loc=Local", config.Mysql.Username, config.Mysql.Password, config.Mysql.Host, config.Mysql.Port, config.Mysql.Database, config.Mysql.Charset) db, err := newMysqlDB(dsn) if err != nil { return nil,err } return db,nil } func InitRedisClient(config *configs.Config) *redis.Client { return redis.NewClient(&redis.Options{ Addr: config.Redis.Host, // use default Addr Password: config.Redis.Password, // no password set DB: int(config.Redis.Db), // use default DB }) } func newMysqlDB(dsn string) (*gorm.DB, error) { return gorm.Open(mysql.Open(dsn), &gorm.Config{}) }