J'ai ajouté la balise future-rollback à mon script ant. Qu'est-ce que je veux faire (et je pense que future-rollback est ce que je cherche) est de générer un script de restauration SQL, mais sans l'exécuter (script de restauration doit être livré avec des scripts SQL est l'exigence de mon client).Erreur de restauration future de liquibase avec la balise sqlFile: Fichier non trouvé
Mon fichier changelog contient de nombreuses modifications, dont certaines contiennent la balise <sqlFile>
.
Par exemple:
<databaseChangeLog ...>
<include file="latest/somesqlprocedure.xml" relativeToChangelogFile="true"/>
</databaseChangelog...>
Lorsque le latest/somesqlprocedure.xml
a une balise 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>
Quand je lance le script fourmi, je reçois le erreur suivant
liquibase.exception.ChangeLogParseException: Fichier Migration non valide:
<sqlfile path=${changelog.dir}/latest/myprocedure.sql>
- Impossible de trouver le fichier
Est-ce que quelqu'un a une idée de ce qui se passe?
C'est un extrait du fichier 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>
de Merci à l'avance.