diff --git a/internal/web/actions/default/setup/validateDb.go b/internal/web/actions/default/setup/validateDb.go index 58809062..2ff88ae9 100644 --- a/internal/web/actions/default/setup/validateDb.go +++ b/internal/web/actions/default/setup/validateDb.go @@ -92,16 +92,20 @@ func (this *ValidateDbAction) RunPost(params struct { // 检查权限 // edgeTest表名需要根据表结构的变更而变更,防止升级时冲突 - _, err = db.Exec("CREATE TABLE IF NOT EXISTS `edgeTest1` (\n `id` int(11) NOT NULL AUTO_INCREMENT,\n PRIMARY KEY (`id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;") + var testTable = "edgeTest1" + _, err = db.Exec("CREATE TABLE IF NOT EXISTS `" + testTable + "` (\n `id` int(11) NOT NULL AUTO_INCREMENT,\n PRIMARY KEY (`id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;") if err != nil { this.Fail("当前连接的用户无法创建新表,请检查CREATE权限设置:" + err.Error()) } - _, err = db.Exec("ALTER TABLE `edgeTest1` CHANGE `id` `id` int(11) NOT NULL AUTO_INCREMENT") + _, err = db.Exec("ALTER TABLE `" + testTable + "` CHANGE `id` `id` int(11) NOT NULL AUTO_INCREMENT") if err != nil { this.Fail("当前连接的用户无法修改表结构,请检查ALTER权限设置:" + err.Error()) } + // 删除edgeTest,忽略可能的错误,因为我们不需要DROP权限 + _, _ = db.Exec("DROP TABLE `" + testTable + "`") + // 检查数据库版本 one, err := db.FindOne("SELECT VERSION() AS v") if err != nil {