【问题标题】:Not able to migrate sonarqube from 7.4 to 7.7无法将 sonarqube 从 7.4 迁移到 7.7
【发布时间】:2019-05-28 17:51:38
【问题描述】:

我正在将我的 sonarqube 从 7.4 升级到 7.7,但是在迁移数据库时它给了我一个错误。我在这里附上日志。谁能帮帮我。

2019.05.28 07:31:23 INFO  web[][o.s.s.p.w.MasterServletFilter] Initializing servlet filter org.sonar.server.ws.WebServiceFilter@75b67f49 [pattern=UrlPattern{inclusions=[/api/system/migrate_db.*, ...], exclusions=[/api/properties*, ...]}]
2019.05.28 07:31:23 INFO  web[][o.s.s.a.EmbeddedTomcat] HTTP connector enabled on port 9000
2019.05.28 07:43:09 INFO  web[][o.s.s.p.d.m.DatabaseMigrationImpl] Starting DB Migration and container restart
2019.05.28 07:43:09 INFO  web[][DbMigrations] Executing DB migrations...
2019.05.28 07:43:09 INFO  web[][DbMigrations] #2606 'Drop DATA_TYPE column from FILE_SOURCES table'...
2019.05.28 07:43:09 ERROR web[][DbMigrations] #2606 'Drop DATA_TYPE column from FILE_SOURCES table': failure | time=9ms
2019.05.28 07:43:09 ERROR web[][DbMigrations] Executed DB migrations: failure | time=10ms
2019.05.28 07:43:09 ERROR web[][o.s.s.p.d.m.DatabaseMigrationImpl] DB migration failed | time=75ms
2019.05.28 07:43:09 ERROR web[][o.s.s.p.d.m.DatabaseMigrationImpl] DB migration ended with an exception
org.sonar.server.platform.db.migration.step.MigrationStepExecutionException: Execution of migration step #2606 'Drop DATA_TYPE column from FILE_SOURCES table' failed
    at org.sonar.server.platform.db.migration.step.MigrationStepsExecutorImpl.execute(MigrationStepsExecutorImpl.java:79)
    at org.sonar.server.platform.db.migration.step.MigrationStepsExecutorImpl.execute(MigrationStepsExecutorImpl.java:67)
    at java.lang.Iterable.forEach(Iterable.java:75)
    at org.sonar.server.platform.db.migration.step.MigrationStepsExecutorImpl.execute(MigrationStepsExecutorImpl.java:52)
    at org.sonar.server.platform.db.migration.engine.MigrationEngineImpl.execute(MigrationEngineImpl.java:68)
    at org.sonar.server.platform.db.migration.DatabaseMigrationImpl.doUpgradeDb(DatabaseMigrationImpl.java:105)
    at org.sonar.server.platform.db.migration.DatabaseMigrationImpl.doDatabaseMigration(DatabaseMigrationImpl.java:80)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalStateException: Fail to execute DROP INDEX file_sources_uuid_type ON file_sources
    at org.sonar.server.platform.db.migration.step.DdlChange$Context.execute(DdlChange.java:97)
    at org.sonar.server.platform.db.migration.step.DdlChange$Context.execute(DdlChange.java:77)
    at org.sonar.server.platform.db.migration.step.DdlChange$Context.execute(DdlChange.java:117)
    at org.sonar.server.platform.db.migration.version.v77.DropDataTypeFromFileSources.execute(DropDataTypeFromFileSources.java:43)
    at org.sonar.server.platform.db.migration.step.DdlChange.execute(DdlChange.java:45)
    at org.sonar.server.platform.db.migration.step.MigrationStepsExecutorImpl.execute(MigrationStepsExecutorImpl.java:75)
    ... 9 common frames omitted
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Can't DROP 'file_sources_uuid_type'; check that column/key exists
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
    at com.mysql.jdbc.Util.getInstance(Util.java:408)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2482)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2440)
    at com.mysql.jdbc.StatementImpl.executeInternal(StatementImpl.java:845)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:745)
    at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:175)
    at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:175)
    at org.sonar.server.platform.db.migration.step.DdlChange$Context.execute(DdlChange.java:82)
    ... 14 common frames omitted

即使我尝试手动添加 INDEX,但它给了我一个错误。

【问题讨论】:

    标签: sonarqube


    【解决方案1】:

    所以我找到了上述查询的解决方案。所以我做了什么,我试图在那个 data_type 列中添加上面的索引。在尝试了几次之后,索引被添加了。现在我再次尝试从声纳门户升级数据库,万岁!成功了!。

    谢谢!

    【讨论】:

    • “在尝试了几次之后”:你在这些尝试之间有什么改变吗?
    • 是的。我只是将索引值添加到 data_type 列,因为它因此而出错。所以解决方案可以根据问题进行。
    猜你喜欢
    • 1970-01-01
    • 2018-09-14
    • 2018-05-04
    • 2018-05-04
    • 2013-09-05
    • 1970-01-01
    • 2016-12-11
    • 2017-12-03
    • 1970-01-01
    相关资源
    最近更新 更多