From 5164e06ac19c2cf9ab2e2634429d24e207752cf6 Mon Sep 17 00:00:00 2001 From: liuxiaobo <1224730913@qq.com> Date: Sun, 15 Jun 2025 20:06:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/config/loadConfig.go | 9 +++++---- common/model/user/logUserRecord.go | 2 +- common/model/user/userAccount.go | 2 +- docker/docker.txt | 2 +- server/db/operation/db.go | 22 ++++++++++++++-------- 5 files changed, 22 insertions(+), 15 deletions(-) diff --git a/common/config/loadConfig.go b/common/config/loadConfig.go index 3b0fad9..83d4b96 100644 --- a/common/config/loadConfig.go +++ b/common/config/loadConfig.go @@ -32,7 +32,7 @@ const ( clickhouseKey = "clickhouse_config" clickhouseAddress = "114.132.124.145" - clickhousePort = "3306" + clickhousePort = "9000" clickhouseUser = "game" clickhousePasswd = "fox379@@zyxi" clickhouseDBName = "game_log" @@ -132,12 +132,13 @@ func LoadCommonConfig(rd *redis.Client, GitCommit, GitBranch, BuildDate string) } if s == "" { log.DebugF("load config:empty mysql key") - comm.LogDb = ClickHouse{Host: clickhouseAddress, Port: clickhousePort, Password: clickhousePasswd, Username: clickhouseUser, DbName: clickhouseDBName} - if bs, err := json.Marshal(&comm.UserDb); err == nil { + comm.LogDb = ClickHouse{Host: clickhouseAddress, Port: clickhousePort, Password: clickhousePasswd, + Username: clickhouseUser, DbName: clickhouseDBName} + if bs, err := json.Marshal(&comm.LogDb); err == nil { err = rd.Set(context.Background(), clickhouseKey, string(bs), 0).Err() } } else { - err = json.Unmarshal([]byte(s), &comm.UserDb) + err = json.Unmarshal([]byte(s), &comm.LogDb) } return &comm, nil } diff --git a/common/model/user/logUserRecord.go b/common/model/user/logUserRecord.go index 62846bd..df401f6 100644 --- a/common/model/user/logUserRecord.go +++ b/common/model/user/logUserRecord.go @@ -24,7 +24,7 @@ func (u UserRecordLog) GetId() int64 { } func (u UserRecordLog) TableName() string { - return "game_record_log" + return "user_record_log" } func (u UserRecordLog) TableOptions() string { diff --git a/common/model/user/userAccount.go b/common/model/user/userAccount.go index 6490d2c..c751f84 100644 --- a/common/model/user/userAccount.go +++ b/common/model/user/userAccount.go @@ -57,6 +57,6 @@ func (u UserLoginLog) TableOptions() string { return `ENGINE=MergeTree() ORDER BY (account_id, login_time) PARTITION BY toYYYYMM(login_time) - TTL LoginTime + INTERVAL 6 MONTH + TTL login_time + INTERVAL 6 MONTH ` } diff --git a/docker/docker.txt b/docker/docker.txt index 0fd3219..6a16036 100644 --- a/docker/docker.txt +++ b/docker/docker.txt @@ -46,4 +46,4 @@ docker run -d \ clickhouse/clickhouse-server // 进入clickhouse容器连到数据库 show databases; -docker exec -it clickhouse-server clickhouse-client --user game --password fox379@@zyxi \ No newline at end of file +sudo docker exec -it clickhouse-server clickhouse-client --user game --password fox379@@zyxi \ No newline at end of file diff --git a/server/db/operation/db.go b/server/db/operation/db.go index efbf5e2..a46661a 100644 --- a/server/db/operation/db.go +++ b/server/db/operation/db.go @@ -45,12 +45,6 @@ func InitDb() { log.Fatal(err.Error()) return } - cfgClickhouse := &config.Cfg.LogDb - LogDB, err = db.InitClickHouse(cfgClickhouse.Username, cfgClickhouse.Password, cfgClickhouse.Host, cfgClickhouse.Port, cfgClickhouse.DbName) - if err != nil { - log.Fatal(err.Error()) - return - } // 自动迁移game库表结构 err = UserDB.AutoMigrate( &user.UserAccount{}, @@ -61,9 +55,21 @@ func InitDb() { log.Fatal(err.Error()) return } + + 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 + } // 自动迁移game_log库表结构 - loginLog := &user.UserLoginLog{} - if err1 := db.AutoMigrateClickHouse(LogDB, loginLog.TableOptions(), loginLog); err1 != nil { + 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 { err = err1 }