I Schema und Ausgangsdaten im Frühjahr Kontext aktualisieren Sie die folgenden beean mit:Mit liquibase Dateipfade sowohl über Maven und Feder
<bean id="liquibase" class="liquibase.integration.spring.SpringLiquibase">
<property name="dataSource" ref="dataSource" />
<property name="changeLog" value="classpath:db/changelog/db.changelog-master.xml" />
<property name="dropFirst" value="true" />
</bean>
Ich verwende Maven auch liquibase-Plugin SQL-Skripte, um zu sehen, welche Tabellen zu erzeugen, erstellt und usw.
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>2.0.5</version>
<configuration>
<!--mvn initialize liquibase:updateSQL-->
<propertyFile>src/main/resources/db/config/liquibase-gensql-data-access.properties</propertyFile>
<changeLogFile>src/main/resources/db/changelog/db.changelog-master.xml</changeLogFile>
</configuration>
</plugin>
Die db.changelog-master.xml
Datei enthält Kind Liquibase Changelog-Dateien. Das Problem, wie man sich vom Meister darauf bezieht. Als ich Frühling verwenden Ich habe den folgenden Pfad über Classpath verwenden:
<include file="classpath:/db/changelog/db.changelog-1.0.xml"/>
Wenn Maven verwendet wird, ist der Weg:
<include file="src/main/resources/db/changelog/db.changelog-1.0.xml"/>
Ich möchte die gleiche Konfiguration für beide Fälle haben. Wie kann ich es archivieren?
Nur ein Update: Ab liquibase-3.1 heißt die Eigenschaft jetzt 'ignoreClasspathPrefix' und ist von Deault wahr. –
Kleines Detail, das es für mich funktioniert hat: in Maven, geben Sie nicht den 'src/main/resources' Teil, sonst wird es nicht mit Spring kompatibel sein. Ich habe 'db/changelog/...' in Maven und 'classpath: db/changelog/...' in Spring (application.properties) konfiguriert und dann hat es funktioniert. – jdebon