2016-10-03 23 views
3

与此配置运行Maven的flyway-plugin尝试使用飞行用的多个数据库实例

mvn flyway:migrate 

<plugin> 
     <groupId>org.flywaydb</groupId> 
     <artifactId>flyway-maven-plugin</artifactId> 
     <version>4.0.3</version> 
     <configuration> 
     <driver>com.mysql.jdbc</driver> 
     <url>jdbc:mysql://localhost:3306/schema2?createDatabaseIfNotExist=true</url> 
     <user>root</user> 
     <password>root</password> 
     </configuration> 
    </plugin> 

我尝试创建执行数像这样的解决方案: How to use Flyway configuration to handle multiple databases

从一次执行开始:

<plugin> 
     <groupId>org.flywaydb</groupId> 
     <artifactId>flyway-maven-plugin</artifactId> 
     <version>4.0.3</version> 
     <executions> 
     <execution> 
      <id>migrate-database</id> 
      <phase>compile</phase> 
      <goals> 
      <goal>migrate</goal> 
      </goals> 
      <configuration> 
      <driver>com.mysql.jdbc</driver> 
      <url>jdbc:mysql://localhost:3306/schema2?createDatabaseIfNotExist=true</url> 
      <user>root</user> 
      <password>root</password> 
      </configuration> 
     </execution> 
     </executions> 
    </plugin> 

请参见异常:

[ERROR] Failed to execute goal org.flywaydb:flyway-maven-plugin:4.0.3:migrate (default-cli) on project UrbanLife: org.flywaydb.core.api.FlywayException: Unable to connect to the database. Configure the url, user and password! -> [Help 1] 

貌似迁徙路线看不到里面 配置(有趣的是,在联系,我前面提到的,它的工作原理)

请帮助通过建立飞路multyDB整合行家。

+0

下面的两个答案帮助了我。现在我使用下一个命令: mvn flyway:migrate @ migrate -MAINdatabase flyway:migrate @ migrate -TESTdatabase – JavaDev1987

+0

@markdsievers为什么你从我的问题中删除了关于控制台的短语?新手更容易理解。 – JavaDev1987

回答

3

当你添加的驱动程序作为插件的依赖多个(或只有一个)<execution>在你的Maven插件配置,并尝试运行从一个特定的执行在命令行中,你需要通过执行id像这样来指定在你的情况下,执行

mvn flyway:[email protected] 

还看到:How to execute maven plugin execution directly from command line?

最后,如果您希望将特定执行作为默认值,您可以按照these maven docs中的说明为其赋予执行ID default-cli。然后你可以简单地运行mvn flyway:migrate

1

驱动程序的FQN不正确,应该是com.mysql.jdbc.Driver,或者您也可以简单地将其删除,因为它会从URL中自动检测到。

您还需要通过添加

<plugin> 
    ... 
    <dependencies> 
     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>5.1.39</version> 
     </dependency> 
    </dependencies> 
</plugin> 
相关问题