Flyway can't find classpath:db/migrations

懵懂的女人 提交于 2020-01-14 01:40:28

问题


I just started right now a new project in Intellij using Spring Boot ver 2.1.3 and Flyway 5.2.4 with Java 11.

After try to start my project i got :

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flyway' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.flywaydb.core.Flyway]: Factory method 'flyway' threw exception; nested exception is java.lang.IllegalStateException: Cannot find migrations location in: [classpath:db/migration] (please add migrations or check your Flyway configuration)

I have the following folders:

As you can see i have "db/migration" but without any migration, i just started right now. Debugging the class FlywayAutoConfiguration i got the following:

So, i tried to return all files in "classpath:", see:

Note that i just have "application.properties" file.


回答1:


I believe that Flyway requires at least one migration script to initialize. Try adding a simple sql creation script into your migration folder and give it another try. Alternatively you can disable the flyway dependency until you need it.




回答2:


I had a similar error, and solved it as follows: I added these commands

spring.flyway.baselineOnMigrate=true
spring.flyway.check-location=true
spring.flyway.locations=classpath:db/migration
spring.flyway.schemas=public
spring.flyway.enabled=true

to application.properties




回答3:


It is not that much useful or accurate answer. But This issue make you frustrated so that i give this solution.

In my case same db.migrate file not found,Normally this issue occurred in two cases

  1. Path is not proper try using set locations param value.
  2. db.migrate folder not contain any file.
  3. Check name of file : V1_1__(short_desc)
  4. Try to run using, mvn compile flyway:migrate

In my case i already place sql file over there but still it gives same error, Basically i place this sql file using copy paste from somewhere.

When i try to add one new file on same place using IDE (Intellij : Right click on migration folder -> new -> Flyway migration -> versioned migration), then it ask me(warning) about some delicate allowance(normally we mention in database configuration i also place there still), and it start working.



来源:https://stackoverflow.com/questions/55328817/flyway-cant-find-classpathdb-migrations

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!