【问题标题】:Configuration for maven and flyway in multiple environments, plus integration tests在多个环境中配置 maven 和 flyway,以及集成测试
【发布时间】:2023-03-19 17:37:01
【问题描述】:

我有一个多模块 Maven 项目,并且正在使用 Flyway 进行数据库迁移。目前,我的 pom.xml 中有这个 sn-p:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>sql-maven-plugin</artifactId>
  <version>1.5</version>
  <dependencies>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql-connector-java.version}</version>
    </dependency>
  </dependencies>
  <executions>
    <execution>
      <id>drop-db-before-test-if-any</id>
      <phase>process-test-resources</phase>
      <goals>
        <goal>execute</goal>
      </goals>
      <configuration>
        <driver>${datasource.driver}</driver>
        <url>${datasource.url}</url>
        <username>${datasource.user}</username>
        <password>${dbPass}</password>
        <autocommit>true</autocommit>
        <srcFiles>
          <srcFile>${main.basedir}/db/test/drop_create_database_test.sql</srcFile>
        </srcFiles>
      </configuration>
    </execution>
  </executions>
</plugin>

如何将其转换为执行以下等效操作,以便它将使用 flyway 迁移 sql 来更好地模拟生产(在测试中,目前它使用 db-test.properties where jpa.generate_ddl=true 以便表是从 JPA 自动创建的):

mvn flyway:clean -P test
mvn flyway:init -Dflyway.initVersion=1 -Dflyway.initDescription="Initial Version" -P test
mvn flyway:migrate -P test

谢谢!

【问题讨论】:

    标签: maven flyway


    【解决方案1】:

    如果我正确理解了您的问题,那么这就是您所需要的。 这假设您在插件配置中有 baselineOnMigrate=true。

    <profiles> <profile> <id>test</id> <build> <plugins> <plugin> <groupId>org.flywaydb</groupId> <artifactId>flyway-maven-plugin</artifactId> <configuration> <driver>${datasource.driver}</driver> <url>${datasource.url}</url> <user>${datasource.username}</user> <password>${datasource.password}</password> </configuration> <executions> <execution> <id>flyway-clean-database</id> <phase>process-test-resources</phase> <goals> <goal>clean</goal> <goal>migrate</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-30
      • 1970-01-01
      • 2013-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多