0

我面临以下错误。

org.sonar.api.utils.MessageException:数据库与更新版本的声纳有关。请检查您的设置。

我有 2 台不同的服务器。一个用于声纳,另一个用于数据库。
1. 我已经拍摄了声纳服务器的快照,但是我没有为数据库拍摄快照(忘记拍摄了)。

2. 在使用 pg_dump 命令备份数据库(postgresql)后,我已将声纳从 sonar 4.0 升级到 sonarqube4.5.1……但由于在升级声纳和数据库后我面临一些数据丢失,我已恢复到以前的快照(声纳server)

3. 现在我们已经使用 pg_restore 命令成功恢复了数据库,但是 sonar 4.0 没有启动并且出现上述错误

谁能帮我解决这个问题

4

1 回答 1

0

消息非常明显。您正在启动连接到被识别为较新的数据库的 SQ 4.0 实例。

选项有限:

  • 要么数据库真的是你原来的 SQ 4.0 数据库,而且你没有运行你以前使用的完全相同的 SQ 4.0 软件
  • 或者您正在运行相同的 SQ 4.0 软件并且数据库不是您原来的 SQ 4.0 数据库

我的猜测是您没有成功地将数据库恢复到其 SQ 4.0 状态,或者只是部分恢复。

在底层,SQ 使用表schema_migrations来知道它连接到哪个版本的数据库。

每个 db 迁移“脚本”(为简单起见,让我们使用该名称)都有一个唯一编号(数字严格增加),每个 SQ 版本都知道它捆绑的最后一个迁移脚本的编号。成功执行脚本后,会在 table 中添加一行schema_migrations

SQ 在启动时检查其最后一个脚本的编号与 中的最高编号schema_migrations

  • 相同的号码,一切正常
  • 较低的数字,数据库需要升级
  • 更高的数字,你得到的错误信息
于 2015-09-04T15:55:58.543 回答