声纳迁移失败,因为 table 已经存在

Failed sonar migration because table already exists

我正在尝试将 Sonarqube 从 3.7.4 升级到 4.5.4

我已经更新了所有插件,新应用程序按预期启动。

然后我转到 /setup URL,系统提示我开始数据库迁移。这失败并出现以下错误:

ActiveRecord::JDBCError: Table 'rule_tags' already exists:

我已经备份了我的 v3.7.4 数据库,当我恢复它时,我可以看到它已经包含一个名为 rule_tags 的 table,它有零条记录。使用恢复的备份和旧插件,v3.7.4 再次启动就好了。

迁移代码正在尝试创建此 table 而不检查它是否已经存在。

有人知道为什么会这样吗?我怀疑这与之前一些失败的迁移有关。

table rule_tags 是在 4.2 版本中创建的。因此,如果在恢复 mysql 备份时它仍然存在,则意味着您只恢复了数据而不是结构。仔细检查您的命令行以恢复 mysql 架构。