2014-09-23 456 views
0

我正在Maven项目上工作,并且添加了用于测试目的的执行sql脚本的flyway插件。我想确保那些脚本不会意外执行,但只能与“mvn ... flyway:migrate”Flyway在默认阶段不执行

我发现默认阶段迁移操作预集成测试,但是当我运行MVN全新安装迁徙路线不会被调用(这是确定了我,但我不想被知道为什么他们没有被调用)。

这里是的pom.xml的一部分:

 <plugin>    
      <groupId>org.flywaydb</groupId> 
      <artifactId>flyway-maven-plugin</artifactId> 
      <version>3.0</version>    
      <configuration> 
       <driver>${db-driver-name}</driver> 
       <url>${db-url}</url> 
       <user>${db-user-name}</user> 
       <password>${db-user-password}</password> 
       <locations> 
        <location>filesystem:./src/main/resources/db/scripts/V${db-version}</location> 
       </locations> 
       <schemas> 
        <schema>schema</schema> 
       </schemas> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>oracle.jdbc</groupId> 
        <artifactId>ojdbc6</artifactId> 
        <version>11.2.0.4</version> 
       </dependency> 
      </dependencies> 
     </plugin> 

提前感谢!

回答

0

默认情况下,您可以执行的操作是flyway.skiptrue,并且只有在您想要运行迁移时才会使其为false。

此外,预先集成测试包装后。所以这就是为什么不用mvn clean package调用它的原因。

+0

是的,我编辑的问题,我想在* mvn干净安装*。 – sruzic 2014-09-23 11:54:17

0

请验证您的<plugin>部分是否在您希望运行的模块中。

而不仅仅在一个<pluginManagement>部分。