84 lines
2.0 KiB
Go
Raw Normal View History

2025-06-02 01:07:35 +08:00
package operation
2025-05-31 23:34:58 +08:00
import (
2025-06-06 00:09:10 +08:00
"game/common/constant"
2025-06-02 01:07:35 +08:00
"game/common/model/user"
"game/common/utils"
2025-05-31 23:34:58 +08:00
"game/server/db/config"
"github.com/fox/fox/db"
"github.com/fox/fox/log"
"github.com/go-redis/redis/v8"
"gorm.io/gorm"
)
var (
2025-06-02 01:07:35 +08:00
UserRedis *redis.Client
AccountRedis *redis.Client
UserDB *gorm.DB
LogDB *gorm.DB
2025-05-31 23:34:58 +08:00
)
func InitRedis() {
log.Debug("init redis")
var err error
cfg := &config.Cfg.Redis
2025-06-06 00:09:10 +08:00
UserRedis, err = db.InitRedis(cfg.Password, cfg.Host, cfg.Port, constant.Redis1User)
2025-05-31 23:34:58 +08:00
if err != nil {
log.Fatal(err.Error())
return
}
utils.AutoSetRedisPool(UserRedis)
2025-06-06 00:09:10 +08:00
AccountRedis, err = db.InitRedis(cfg.Password, cfg.Host, cfg.Port, constant.Redis2Account)
2025-06-02 01:07:35 +08:00
if err != nil {
log.Fatal(err.Error())
return
}
utils.AutoSetRedisPool(AccountRedis)
2025-05-31 23:34:58 +08:00
}
func InitDb() {
log.Debug("init db")
var err error
2025-06-14 16:40:15 +08:00
cfg := &config.Cfg.UserDb
2025-05-31 23:34:58 +08:00
UserDB, err = db.InitMysql(cfg.Username, cfg.Password, cfg.Host, cfg.Port, cfg.DbName)
if err != nil {
log.Fatal(err.Error())
return
}
// 自动迁移game库表结构
err = UserDB.AutoMigrate(
2025-06-02 01:07:35 +08:00
&user.UserAccount{},
2025-06-06 00:10:48 +08:00
&user.User{},
&user.UserResources{},
2025-05-31 23:34:58 +08:00
)
if err != nil {
log.Fatal(err.Error())
return
}
2025-06-15 20:06:00 +08:00
cfgClickhouse := &config.Cfg.LogDb
LogDB, err = db.InitClickHouse(cfgClickhouse.Host, cfgClickhouse.Port, cfgClickhouse.Username, cfgClickhouse.Password, cfgClickhouse.DbName)
if err != nil {
log.Fatal(err.Error())
return
}
2025-05-31 23:34:58 +08:00
// 自动迁移game_log库表结构
2025-06-15 20:06:00 +08:00
if err1 := db.AutoMigrateClickHouse(LogDB, user.UserLoginLog{}.TableOptions(), user.UserLoginLog{}); err1 != nil {
err = err1
}
if err1 := db.AutoMigrateClickHouse(LogDB, user.GameRecordLog{}.TableOptions(), user.GameRecordLog{}); err == nil && err1 != nil {
err = err1
}
if err1 := db.AutoMigrateClickHouse(LogDB, user.UserRecordLog{}.TableOptions(), user.UserRecordLog{}); err == nil && err1 != nil {
2025-06-15 01:42:51 +08:00
err = err1
}
2025-06-23 01:23:27 +08:00
if err1 := db.AutoMigrateClickHouse(LogDB, user.UserResourcesLog{}.TableOptions(), user.UserResourcesLog{}); err == nil && err1 != nil {
err = err1
}
2025-06-15 01:42:51 +08:00
2025-05-31 23:34:58 +08:00
if err != nil {
log.Fatal(err.Error())
return
}
}