Все плагины maven flyway выполняются последним пользователем

У меня есть два пользователя оракула, и я создаю для них разные схемы. Я имею в виду, что каждая схема имеет разные таблицы, типы и т. Д. Я хотел создать обе схемы с помощью плагина flyway maven, сначала у меня было два плагина maven, но затем я попытался также создать два отдельных профиля:

<profiles>
    <profile>
      <id>database</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.googlecode.flyway</groupId>
            <artifactId>flyway-maven-plugin</artifactId>
            <configuration>
              <url>jdbc:oracle:thin:@devdb2:1521:ZOOMUTF</url>
              <table>SCHEMA_UPDATES</table>
              <outOfOrder>true</outOfOrder>
              <locations>
                <location>db/callrec</location>
              </locations>
              <user>cr_5199_mensik_mvn</user>
              <password>callrec</password>
              <serverId>callrec</serverId>
            </configuration>
            <executions>
              <execution>
                <id>compile</id>
                <phase>compile</phase>
                <goals>
                  <goal>migrate</goal>
                </goals>
              </execution>
              <execution>
                <id>clean</id>
                <phase>clean</phase>
                <goals>
                  <goal>clean</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>database_wbsc</id>
      <build>
        <plugins>

          <plugin>
            <groupId>com.googlecode.flyway</groupId>
            <artifactId>flyway-maven-plugin</artifactId>
            <configuration>
              <url>jdbc:oracle:thin:@devdb2:1521:ZOOMUTF</url>
              <table>SCHEMA_UPDATES</table>
              <outOfOrder>true</outOfOrder>
              <locations>
                <location>db/wbsc</location>
              </locations>
              <user>sc_5199_mensik_mvn</user>
              <password>wbsc</password>
              <serverId>wbsc</serverId>
            </configuration>
            <executions>
              <execution>
                <id>wbsc_compile</id>
                <phase>compile</phase>
                <goals>
                  <goal>migrate</goal>
                </goals>
              </execution>
              <execution>
                <id>wbsc_clean</id>
                <phase>clean</phase>
                <goals>
                  <goal>clean</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
</profiles>

Затем я выполняю:

mvn clean -Pdatabase,database_wbsc

Но результат состоит в том, что только второй профиль выполняется дважды:

[INFO] [clean:clean {execution: default-clean}]
[INFO] [flyway:clean {execution: clean}]
[INFO] Cleaned schema "sc_5199_mensik_mvn" (execution time 00:00.023s)
[INFO] [flyway:clean {execution: wbsc_clean}]
[INFO] Cleaned schema "sc_5199_mensik_mvn" (execution time 00:00.018s)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------

Если я переключаю порядок профилей в xml (не в команде выполнения maven), то используется второй пользователь.

Как я могу выполнить оба профиля, но с их конфигурацией?

1 ответ

Решение

Попробуйте предоставить конфигурацию на уровне выполнения, а не на уровне плагина.

            <plugin>
            <executions>
                <execution>
                    <id>execution1</id>
                    <configuration>
                    </configuration>
                </execution>
                <execution>
                    <id>execution2</id>
                    <configuration>
                    </configuration>
                </execution>
            </executions>
        </plugin>
Другие вопросы по тегам