From d9c092cd3111fe54d5bc44617c333cc17cf07c61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Thu, 16 Sep 2021 15:43:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=9B=E5=BB=BA=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E9=9B=86=E7=BE=A4=E6=97=B6=E6=B2=A1=E6=9C=89=E5=86=99?= =?UTF-8?q?=E5=85=A5API=E4=BB=A4=E7=89=8C=E7=9A=84Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/setup/sql_executor.go | 10 +++++++++- internal/setup/sql_upgrade.go | 22 ++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) 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 }