2017-09-14 10 views
0

私はLiquibaseを使用しており、liquibase generateChangeLogコマンドを使用しようとしています。 正しいコネクタと資格情報を使用しています。デバッグトレースは、すべてのテーブルから情報を取得した後、このエラーを最後に表示します。Liquibase generateChangeLog MissingObjectChangeGenerator

DEBUG 14/09/17 16.30: liquibase: MissingObjectChangeGenerator type order:  liquibase.structure.core.Catalog liquibase.structure.core.Schema liquibase.structure.core.Sequence liquibase.structure.core.StoredProcedure liquibase.structure.core.Table liquibase.structure.core.Column liquibase.structure.core.PrimaryKey liquibase.structure.core.UniqueConstraint liquibase.structure.core.Index liquibase.structure.core.ForeignKey liquibase.structure.core.View 
Unexpected error running Liquibase: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 

SEVERE 14/09/17 16.30: liquibase: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 
liquibase.exception.LiquibaseException: liquibase.command.CommandExecutionException: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 
     at liquibase.integration.commandline.CommandLineUtils.doGenerateChangeLog(CommandLineUtils.java:265) 
     at liquibase.integration.commandline.Main.doMigration(Main.java:1011) 
     at liquibase.integration.commandline.Main.run(Main.java:188) 
     at liquibase.integration.commandline.Main.main(Main.java:103) 
Caused by: liquibase.command.CommandExecutionException: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 
     at liquibase.command.AbstractCommand.execute(AbstractCommand.java:13) 
     at liquibase.integration.commandline.CommandLineUtils.doGenerateChangeLog(CommandLineUtils.java:263) 
     ... 3 more 
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 
     at java.util.ArrayList.rangeCheck(Unknown Source) 
     at java.util.ArrayList.get(Unknown Source) 
     at liquibase.change.ColumnConfig.<init>(ColumnConfig.java:119) 
     at liquibase.change.AddColumnConfig.<init>(AddColumnConfig.java:16) 
     at liquibase.diff.output.changelog.core.MissingIndexChangeGenerator.fixMissing(MissingIndexChangeGenerator.java:63) 
     at liquibase.diff.output.changelog.ChangeGeneratorChain.fixMissing(ChangeGeneratorChain.java:47) 
     at liquibase.diff.output.changelog.ChangeGeneratorFactory.fixMissing(ChangeGeneratorFactory.java:99) 
     at liquibase.diff.output.changelog.DiffToChangeLog.generateChangeSets(DiffToChangeLog.java:193) 
     at liquibase.diff.output.changelog.DiffToChangeLog.print(DiffToChangeLog.java:147) 
     at liquibase.diff.output.changelog.DiffToChangeLog.print(DiffToChangeLog.java:88) 
     at liquibase.diff.output.changelog.DiffToChangeLog.print(DiffToChangeLog.java:75) 
     at liquibase.command.GenerateChangeLogCommand.run(GenerateChangeLogCommand.java:54) 
     at liquibase.command.AbstractCommand.execute(AbstractCommand.java:8) 
     ... 4 more 

答えて

0

最終的に解決策が見つかりました。スペースで区切られた名前を持つ

  1. 列:

    は、これらの問題がありました。
  2. 主キーのないテーブル。
  3. 主キーに対するインデックス。

したがって、スペースを削除し、PKを与え、無駄なインデックスを削除すると、エラーが消えて、私は続けることができます。

ありがとうございます。

関連する問題