如何将Gerrit 2.16迁移到gerrit 3.0? “ --migrate-to-note-db”不是有效的选项

时间:2019-05-21 11:35:24

标签: gerrit

我已升级到最新的稳定的2. *版本,现在是following the doc,我尝试从2.16升级到3.0,并且出现此错误(试图从PostgresSql迁移到NoteDB):

$ java -jar gerrit-3.0.0.war init -d ~/gerrit --migrate-to-note-db
fatal: "--migrate-to-note-db" is not a valid option

或通过重新启动:

[...]
Exception in thread "main" com.google.gerrit.exceptions.StorageException: You appear to be upgrading from a 2.x site, but the NoteDb change migration was not completed. See documentation:
https://gerrit-review.googlesource.com/Documentation/note-db.html#migration
    at com.google.gerrit.server.schema.NoteDbSchemaUpdater.checkNoteDbConfigFor216(NoteDbSchemaUpdater.java:128)
    at com.google.gerrit.server.schema.NoteDbSchemaUpdater.update(NoteDbSchemaUpdater.java:88)
    at com.google.gerrit.pgm.init.BaseInit$SiteRun.upgradeSchema(BaseInit.java:353)
    at com.google.gerrit.pgm.init.BaseInit.run(BaseInit.java:119)
    at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:61)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:225)
    at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:121)
    at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:66)
    at Main.main(Main.java:28)

我的配置有

[noteDb "changes"]
    autoMigrate = true

我想念什么?

2 个答案:

答案 0 :(得分:2)

这可以帮助你。

从您的版本 v2.x (x < v2.16) 迁移到 v2.16,保留在 ReviewDb 上。确保升级所有中间版本。 (例如:从 v2.13 迁移到 v2.14,然后从 v2.14 迁移到 v2.15,最后从 v2.15 迁移到 v2.16)

https://gitenterprise.me/2019/05/20/gerrit-v3-0-is-here/

答案 1 :(得分:1)

“-migrate-to-note-db”选项仅在Gerrit 2.15.x和2.16.x版本中可用,而在3.0.x版本中不可用。首先在2.16.x中使用它,然后再升级到3.0.x。