我正在尝试使用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/

10-13 08:58