2017-02-22 1 views
0

J'ai téléchargé Oracle Plugin pour Liquibase, je l'ai construit avec maven et copié liquibase-oracle-3.3-SNAPSHOT.jar dans le répertoire/lib dans la maison de Liquibase. J'ai ajouté l'espace de noms dans le fichier changelog, comme indiqué dans la documentation, ce qui est mon fichier changelog:Le plugin ChangeSet pour Oracle dans Liquibase toujours vide

<databaseChangeLog 
xmlns="http://www.liquibase.org/xml/ns/dbchangelog" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:ora="http://www.liquibase.org/xml/ns/dbchangelog-ext" 
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd 
http://www.liquibase.org/xml/ns/dbchangelog-ext  http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd"> 

<changeSet author="myAuthor" id="xxx"> 
    <ora:encapsulateTableWithView tableName="TABLENAME"/> 
</changeSet> 
</databaseChangeLog> 

opération de mise à jour via CLI est toujours couronnée de succès, mais rien ne se passe sur DB: la ligne de la table DATABASECHANGELOG référence cette opération est correcte mais signale "vide" dans la colonne de description.

J'ai également ajouté liquibase-oracle-3.3-SNAPSHOT.jar à classpath dans le fichier liquibase.properties, mais c'est inutile. Chaque variable changeSet tracée dans la table DATABASECHANGELOG avec une balise plugin Oracle spécifique a la même somme de contrôle (7: d41d8cd98f00b204e9800998ecf8427e) et signale "empty" dans DESCRIPTION.

Une idée?

Répondre

0

J'ai trouvé quel était le problème: i lancé par la commande CLI

java -jar liquibase.jar --changeLogFile=myChangeLog.xml update 

mais le changeSet toujours vide a donné lieu: cela parce que liquibase.jar n'a pas pris des cours de liquibase-oracle-3,3-SNAPSHOT.jar . J'ai ajouté liquibase.bat aux variables d'environnement dans PATH et la nouvelle commande est

liquibase --changeLogFile=myChangeLog.xml update 

et cela fonctionne très bien.