私はliquibase 1.9.5を使用していますが、このバージョンの既知のバグではありません。簡単な話は、私たちが1.0リリースのためにliquibaseを正常に実行したことです.1.0リリースのmd5sumについて追加のchangeSetを持つ1.1リリースを実行しようとするとエラーになります。liquibase changeSets
私たちは短期間にDATABASECHANGELOGのmd5sum列を無効にすることで取り組みましたが、私はちょうど何か間違っているのだろうかと思っています。
次のように私たちはLiquiBaseをを整理:私たちは(正しい順序で)私たちのソフトウェアのバージョンごとに別々のファイルのためのコマンドがあり、すべての展開、上で実行 つのマスター.xmlファイルを
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.9 http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.9.xsd">
<include file="v1_0.xml" />
<include file="v1_1.xml" />
</databaseChangeLog>
最初のリリースにはv1_0.xmlしか含まれていませんでした。
v1_0.xmlファイルがリリース間で変化しなかったが、新しいリリースのLiquiBaseをを起動しようとしたとき、私たちは、次のエラーを得た:
SEVERE: Validation Failed:
1 change sets check sum
v1_0.xml::foo_schema::bdeacon::(MD5Sum: ff63b8d1739e6cf1dcaed6a0ef585257)
チェンジ質問に:
<changeSet author="bdeacon" id="foo_schema">
<preConditions onFail="MARK_RAN">
<not><tableExists tableName="some_table"/></not>
</preConditions>
<sqlFile path="database/initial/foo-schema.sql" />
</changeSet>
参照されるfoo-schema.sqlファイルも、リリース間で変更されませんでした。
liquibaseは、私たちが手動でvalidCheckSum要素を間にあるすべてのchangeSetに追加することを期待していないことを願っています。(これは、私たちのデータベーススキーマ全体を最初に作成したもので、前提条件の "some_table"リリース...
validCheckSumトリックは機能しましたが、あなたは正しいです。チェックサムを投げ捨てていたSQLファイルには美的な変化がありました。空白ではありませんでしたが、実際に気付くにはsvn diffが必要でした。 –