ant スクリプトに future-rollback タグを追加しました。私がやりたいこと (そして、future-rollback が私が探しているものだと思います) は、SQL ロールバック スクリプトを生成することですが、それを実行することはありません (ロールバック スクリプトは、SQL スクリプトと共に配信する必要があります。クライアントからの要件です)。
私の変更ログ ファイルには多くの変更セットがあり、その中には <sqlFile>
タグが含まれているものもあります。
例えば:
<databaseChangeLog ...>
<include file="latest/somesqlprocedure.xml" relativeToChangelogFile="true"/>
</databaseChangelog...>
タグlatest/somesqlprocedure.xml
が付いている場所。sqlFile
<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">
<sqlFile path="${changelog.dir}/latest/myprocedure.sql" splitStatements="false" />
</changeSet>
</databaseChangeLog>
Ant スクリプトを実行すると、次のエラーが表示されます。
liquibase.exception.ChangeLogParseException: 無効な移行ファイル:
<sqlfile path=${changelog.dir}/latest/myprocedure.sql>
- ファイルが見つかりませんでした
誰が何が起こっているのか考えていますか?
これは build.xml ファイルのスニペットです
<target name="db-future-rollback" depends="init">
<rollbackFutureDatabase
changeLogFile="${db.changelog.file}"
driver="${database.driver}"
url="${database.url}"
username="${database.username}"
password="${database.password}"
outputfile="${database.rollback.dir}"
promptOnNonLocalDatabase="${prompt.user.if.not.local.database}"
classpathref="project.classpath"
>
</rollbackFutureDatabase>
</target>
前もって感謝します。