我正在使用Maven和Spring Boot。我使用mvn spring-boot:run
运行应用程序。如何在Flyway不能在Spring Boot上工作时进行调试?
https://flywaydb.org/documentation/plugins/springboot说Springway启动时应该调用Flyway。
因此,我的pom.xml包含对Flyway的依赖关系。
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<version>4.1.2</version>
</dependency>
我第一次运行Maven命令时,它下载了Flyway的东西,所以我认为依赖关系正在工作。
我有以下文件:
./src/main/resources/db/migration/V123__foo.sql
./src/main/resources/application.properties
以上文章暗示它应该“只是工作”,但我不明白的地方它会找到JDBC URL数据库。所以我增加了以下的application.properties
文件:
flyway.url=jdbc:postgresql://localhost:5432/services?user=postgres&password=postgres
flyway.enabled=true
当春天开机启动(个够,让我提供的Web应用程序)没有从迁飞日志。我认为Flyway被忽略。
我该怎么办?或者更一般地说,我将如何自己去调试这个问题?
flyway默认使用'spring.datasource'属性指定的普通数据源,通常不需要额外的。如果你真的想使用单独的URL和用户的飞行路线,你需要'flyway.url'与'flyway.username'和'flyway.password',而不是嵌入在URL中。接下来确保你有一个数据库驱动程序,否则没有检测到JDBC,并且没有任何东西会被运行(没有JDBC,它将不起作用)。 –
感谢您的意见。没有错误,应用程序“运行”(没有Flyway被调用),我怀疑(希望?),如果数据源是错误的(例如没有JDBC驱动程序),那么它会打印一个错误,或者我错了那个假设? –
如果您已经在使用数据源,那么默认情况下会使用该数据源。你还期望看到什么?日志记录取决于你的日志级别,如果这很高(警告或某些事情)你不会看到一件事情。而不是依靠日志记录您可能需要检查数据库的内容。 –