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

How to migrate gerrit 2.16 to gerrit 3.0 ? "--migrate-to-note-db" is not a valid option

我升级到最新的稳定版 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

我错过了什么?

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

这对你有帮助。

从您的版本 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/