2

Mavenを使用してFlywayコマンドを単一のコマンドにチェーンするにはどうすればよいですか?

たとえば、 の後に を実行したいとしmvn initialize flyway:cleanますmvn initialize compile flyway:migrate。ただし、mvn initialize flyway:clean compile flyway:migrate失敗します。

ありがとう!

4

4 に答える 4

6

ちょうどチェックした

mvn initialize flyway:clean compile flyway:migrate

Maven 2.2.1 と Maven 3.0.3 の両方で、毎回動作します。

これを再確認していただけますか?本当に問題を発見したと思われる場合は、Issue Trackerに問題を報告し、それを再現するために必要な手順を記載してください。できるだけ早く修正できるよう最善を尽くします。

于 2011-05-11T13:04:08.677 に答える
3

これにより、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>
于 2012-01-19T16:33:01.607 に答える
0

プロファイルを使用して、「コマンド」をまとめることができます。それが終わったら、あなたはただ電話します:

mvn -Pmy-profile
于 2011-04-26T17:23:40.730 に答える
0

ドキュメントが正しいことを理解している場合は、mvn clean package や mvn clean verify などのデフォルトの maven 呼び出しを使用できるよりも、maven-flyway プラグインを構成して作業を行い、maven の正しいフェーズにバインドする必要があります。

于 2011-04-20T15:52:48.910 に答える