Mavenを使用してFlywayコマンドを単一のコマンドにチェーンするにはどうすればよいですか?
たとえば、 の後に を実行したいとしmvn initialize flyway:clean
ますmvn initialize compile flyway:migrate
。ただし、mvn initialize flyway:clean compile flyway:migrate
失敗します。
ありがとう!
Mavenを使用してFlywayコマンドを単一のコマンドにチェーンするにはどうすればよいですか?
たとえば、 の後に を実行したいとしmvn initialize flyway:clean
ますmvn initialize compile flyway:migrate
。ただし、mvn initialize flyway:clean compile flyway:migrate
失敗します。
ありがとう!
ちょうどチェックした
mvn initialize flyway:clean compile flyway:migrate
Maven 2.2.1 と Maven 3.0.3 の両方で、毎回動作します。
これを再確認していただけますか?本当に問題を発見したと思われる場合は、Issue Trackerに問題を報告し、それを再現するために必要な手順を記載してください。できるだけ早く修正できるよう最善を尽くします。
これにより、Maven のステップを連鎖させることができます。そこに必要な目標を追加するだけです。
<profile>
<id>clean-migrate</id>
<build>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>process-resources1</id>
<goals>
<goal>resources</goal>
</goals>
<!-- Populate the database before querydsl-sql runs -->
<phase>generate-sources</phase>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>com.googlecode.flyway</groupId>
<artifactId>flyway-maven-plugin</artifactId>
<executions>
<execution>
<id>process-resources2</id>
<goals>
<goal>clean</goal>
<goal>migrate</goal>
</goals>
<phase>generate-sources</phase>
</execution>
</executions>
<version>1.4.2</version>
<configuration>
<driver>oracle.jdbc.driver.OracleDriver</driver>
<url>jdbc:oracle:thin:@${database-hostname}:${database-port}:${database-sid}</url>
<user>${database-username}</user>
<password>${database-password}</password>
<schemas>${database-schema}</schemas>
<table>schema_history</table>
<initialVersion>0.1.00</initialVersion>
<initialDescription>Base Migration</initialDescription>
</configuration>
</plugin>
</plugins>
</build>
</profile>
また、settings.xml に以下が必要になります。
<profile>
<id>inject-flyway-properties</id>
<properties>
<database-hostname>${env.DB_HOSTNAME}</database-hostname>
<database-port>${env.DB_PORT}</database-port>
<database-username>${env.DB_USER}</database-username>
<database-password>${env.DB_PASSWORD}</database-password>
<database-sid>${env.DB_DEFAULT_SID}</database-sid>
<database-schema>${env.DB_SCHEMA}</database-schema>
</properties>
</profile>
プロファイルを使用して、「コマンド」をまとめることができます。それが終わったら、あなたはただ電話します:
mvn -Pmy-profile
ドキュメントが正しいことを理解している場合は、mvn clean package や mvn clean verify などのデフォルトの maven 呼び出しを使用できるよりも、maven-flyway プラグインを構成して作業を行い、maven の正しいフェーズにバインドする必要があります。