Запуск mvn liquibase:updateSQL для определенного набора изменений

StackOverflow https://stackoverflow.com/questions/5975450

  •  12-11-2019
  •  | 
  •  

Вопрос

Кто-нибудь, кто является более опытным пользователем 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» предварительно сконфигурированный профиль для заполнения файла свойств базы данных.

Убедитесь, что Хотя файл журнала изменений не жестко закодирован в файле liquibale.properties и убедитесь, что вы восстановите модуль, потому что цель Maven будет использовать Liquibale.properties в каталоге Target / Classe модуля

Для версии 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top