Запуск mvn liquibase:updateSQL для определенного набора изменений
Вопрос
Кто-нибудь, кто является более опытным пользователем maven, вероятно, сможет мне здесь помочь:
как мне передать "необязательные параметры" в liquibase при запуске его в качестве цели maven?
Я хочу передать в "changesToApply", смотрите http://www.liquibase.org/manual/maven_updatesql
Но каков синтаксис?Что-то вроде этого, но не совсем:
mvn liquibase:updateSQL -DchangesToApply=2
Решение
Краткий ответ:
mvn liquibase:updateSQL -Dliquibase.changesToApply=2
.
Длинный ответ
Перейти к заинтересованному вам параметру и ищите его выражение. http://www.liquibase.org/manual/maven_updatesql#changeStoApply
Ищите
changesToApply:
The number of changes to apply to the database. By default this value is 0, which will result in all changes (not already applied to the database) being applied.
Type: int
Required: No
Expression: ${liquibase.changesToApply}
Default: 0
.
Из этого вы можете увидеть, что выражение является GeneracodicCode
Expression: ${liquibase.changesToApply}
.
Это то, что вы должны использовать
Другие советы
from Maven Liquibase Plugin Manual
Все параметры для выполнения плагина Maven Liquibase также могут быть указан в разделе «Генеракодицетагкод плагина».Ниже приведен пример этого:
.[...] <plugin> <groupId>org.liquibase</groupId> <artifactId>liquibase-maven-plugin</artifactId> <version>2.0.1</version> <executions> <execution> <phase>process-resources</phase> <configuration> <changeLogFile>src/main/resources/org/liquiabse/business_table.xml</changeLogFile> <driver>oracle.jdbc.driver.OracleDriver</driver> <url>jdbc:oracle:thin:@tf-appserv-linux:1521:xe</url> <username>liquibaseTest</username> <password>pass</password> </configuration> <goals> <goal>update</goal> </goals> </execution> </executions> </plugin> [...]
Вот как я это делаю: mvn liquibase: updatesql -p mysql -dscipts -dliquibase.changeLogfile= create.xml
Где мой файл журнала изменений находится "Create.xml" и «MySQL» предварительно сконфигурированный профиль для заполнения файла свойств базы данных.
Для версии 3.5.5 следует выйти за пределы <executions>
как показано ниже:
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.0.5</version>
<configuration>
<changeLogFile>src/main/resources/org/liquibase/business_table.xml</changeLogFile>
<driver>oracle.jdbc.driver.OracleDriver</driver>
<url>jdbc:oracle:thin:@tf-appserv-linux:1521:xe</url>
<username>liquibaseTest</username>
<password>pass</password>
</configuration>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>update</goal>
</goals>
</execution>
</executions>
</plugin>