diff --git a/internal/setup/sql_executor.go b/internal/setup/sql_executor.go index 4f674135..596d496b 100644 --- a/internal/setup/sql_executor.go +++ b/internal/setup/sql_executor.go @@ -221,7 +221,15 @@ func (this *SQLExecutor) checkCluster(db *dbs.DB) error { } // 创建默认集群 - _, err = db.Exec("INSERT INTO edgeNodeClusters (name, useAllAPINodes, state, uniqueId, secret) VALUES (?, ?, ?, ?, ?)", "默认集群", 1, 1, rands.HexString(32), rands.String(32)) + var uniqueId = rands.HexString(32) + var secret = rands.String(32) + _, err = db.Exec("INSERT INTO edgeNodeClusters (name, useAllAPINodes, state, uniqueId, secret) VALUES (?, ?, ?, ?, ?)", "默认集群", 1, 1, uniqueId, secret) + if err != nil { + return err + } + + // 创建APIToken + _, err = db.Exec("INSERT INTO edgeAPITokens (nodeId, secret, role, state) VALUES (?, ?, 'cluster', 1)", uniqueId, secret) if err != nil { return err } diff --git a/internal/setup/sql_upgrade.go b/internal/setup/sql_upgrade.go index d09b36ef..0076d18c 100644 --- a/internal/setup/sql_upgrade.go +++ b/internal/setup/sql_upgrade.go @@ -368,6 +368,28 @@ func upgradeV0_3_0(db *dbs.DB) error { // v0.3.1 func upgradeV0_3_1(db *dbs.DB) error { // 清空域名统计,已使用分表代替 + // 因为可能有权限问题,所以我们忽略错误 _, _ = db.Exec("TRUNCATE table edgeServerDomainHourlyStats") + + // 升级APIToken + ones, _, err := db.FindOnes("SELECT uniqueId,secret FROM edgeNodeClusters") + if err != nil { + return err + } + for _, one := range ones { + var uniqueId = one.GetString("uniqueId") + var secret = one.GetString("secret") + tokenOne, err := db.FindOne("SELECT id FROM edgeAPITokens WHERE nodeId=? LIMIT 1", uniqueId) + if err != nil { + return err + } + if len(tokenOne) == 0 { + _, err = db.Exec("INSERT INTO edgeAPITokens (nodeId, secret, role, state) VALUES (?, ?, 'cluster', 1)", uniqueId, secret) + if err != nil { + return err + } + } + } + return nil }