我正在尝试使用Maven的flyway,而关于poway的pom看起来像这样:
<plugin>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-maven-plugin</artifactId>
<version>3.1</version>
<inherited>false</inherited>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>migrate</goal>
</goals>
<configuration>
<user>jrm</user>
<password></password>
<driver>com.mysql.jdbc.Driver</driver>
<url>jdbc:mysql://localhost/fooDB?createDatabaseIfNotExist=true</url>
<table>version_history</table>
<locations>
<location>
filesystem:../../scripts/entitlement/db/cd
</location>
</locations>
请注意,jrm用户不需要密码,但是使用非空密码的用户得到了相同的结果。在Windows上,我可以使用MySQL命令行客户端登录数据库。我对这条消息的印象是,它表明身份验证有问题;使用flyway版本4.0.3时,它说要检查用户,密码和url。
我相信这可能是Windows特有的问题。注意,我已经将MySQL bin添加到路径环境变量中。我注意到尝试mysql -u root时不会提示输入密码,除非使用mysql -u root -p否则我只会拒绝访问,并且我有理由相信我需要一个密码为空的用户。
编辑:我正在使用MVN flyway:迁移
最佳答案
wemu给出的答案是完全正确的:正如pom当前编写的那样,有必要进行mvn编译而不是flyway:migrate。此外,wemu随后提出的有关移动配置的建议应该可以直接调用Flyway,这可能是正确的处理方式。我猜想来自Flyway插件的错误消息是完全准确的:它没有看到授权/数据库访问配置,但是我对Maven的了解不足,无法理解原因,并花了大量时间认为信息错误不仅是插件不可用。
关于mysql - 来自Maven的flyway:未设置数据源!错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41752275/