にJHipsterプロジェクトをデプロイした後本番サーバーで、以前の.jhipster / *。jsonファイルを使用してプロジェクトを再生成しました。 したがって、liquibase changelogファイルも同様に書き直されました。フィールドを追加して、新しく生成されたプロジェクトの単一のエンティティを変更しました。本番システムの以前のデータベースを使用したいです。
これをテストするために、プロダクションのダンプを取得しましたデータベースとそれを私のローカルPostgresインストールにインポートした。 IntelliJでは、プロダクションプロファイル(H2の代わりにPSQLを使用するように構成されています)を選択します。
プロダクションプロファイルを使用してアプリケーションをビルドするとき、チェックサムがオフになっているので、もちろんliquibase.exception.ValidationFailedExceptionが発生します。
したがって、私はliquibase:clearCheckSumsゴールを使用してチェックサムを再生成したいと思います。ただし、目標はH2でしか実行されません。
[INFO] driver: org.h2.Driver
[INFO] url: jdbc:h2:file:./target/h2db/db/test
[INFO] username: test
[INFO] password: ****
[INFO] use empty password: false
[INFO] properties file: null
[INFO] properties file will override? false
[INFO] prompt on non-local database? true
[INFO] clear checksums? false
実運用データベース(Postgres)でチェックサムをリセットする必要があります。
代わりにPostgresで実行するために何をしなければなりませんか?
回答:
回答№1は1あなたは liquibase-maven-plugin の中に pom.xml プロジェクトのファイル:
<configuration>
<changeLogFile>src/main/resources/config/liquibase/master.xml</changeLogFile>
<driver>[your postgres driver]</driver>
<url>[url to your db]</url>
<username>[your username]</username>
<password>[your password]</password>
</configuration>
その後、コマンドラインから次のようにmvn libquibaseプラグインを実行できます。 mvnリキベース:clearCheckSums 今すぐリキベースはあなたのデータベースに対して機能するはずです。 乾杯、duderoot