私は最近、組織を去った開発者によって開発されていたブランチで作業を開始しましたが、関連するテスト環境スキーマを悪い状態で残したようです。
コードを実行するために必要な多くの変更を行う Liquibase 変更ファイルがありますが、関連するスキーマにはいくつかの変更が適用されているようです。
特に私の個人的な開発環境ではない場合は、手動でスキーマを更新しないようにしているので、既存の (かなり複雑な) 変更を機能させることを望んでいました。
私が得るエラーはこれです:
SEVERE 12/12/12 12:15 PM:liquibase: 変更セット db/changelogs/linechanges.xml::14::limit が失敗しました。エラー: SQL ALTER TABLE 制限 ADD id シリアルの実行エラー: エラー: リレーション "lineitem_limitgroup" の列 "id" は既に存在します liquibase.exception.DatabaseException: SQL ALTER TABLE 制限 ADD id シリアルの実行エラー: エラー: リレーションの列 "id" " limit" は、liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:62) の liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:104) に、liquibase.database.AbstractDatabase.execute(AbstractDatabase.java) に既に存在します。 :1075) で liquibase.database.AbstractDatabase.executeStatements(AbstractDatabase.java:1059) で liquibase.changelog.ChangeSet.execute(ChangeSet.java:317) で liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.
この変更ファイルには、複数の変更セットが含まれていることに注意してください。スキーマを調べると、いくつかの変更セットからの変更が適用されているように見えますが、他のいくつかには変更が適用されていません。
それで、失敗したチェンジセットを無視して続行するように(できればMavenプラグインを介して)liquibaseに指示する方法はありますか?
または(あまり役に立たない)liquibaseにいくつかの変更セットを適用し、他の変更セットを適用しないように指示する方法はありますか?
ありがとう!!!