【发布时间】:2019-05-02 02:31:53
【问题描述】:
我正在尝试应用迁移以在测试中建立 H2 数据库,我的文件夹结构是:
src
- test
-- resources
--- db
---- migration
----- V1_0__init_tables.sql
我的配置设置为指向classpath:db/migration
Flyway
.configure()
.locations(migrateLocations)
.dataSource(url, user, password)
.load()
.migrate()
当我运行测试时,我得到以下输出
2018-11-29 16:14:14,351 DEBUG [ScalaTest-run] slf4j.Slf4jLog (Slf4jLog.java:45) - Scanning for classpath resources at 'classpath:db/migration' ...
2018-11-29 16:14:14,351 DEBUG [ScalaTest-run] slf4j.Slf4jLog (Slf4jLog.java:45) - Determining location urls for classpath:db/migration using ClassLoader sun.misc.Launcher$AppClassLoader@18b4aac2 ...
2018-11-29 16:14:14,420 WARN [ScalaTest-run] slf4j.Slf4jLog (Slf4jLog.java:53) - Unable to resolve location classpath:db/migration
2018-11-29 16:14:14,421 DEBUG [ScalaTest-run] slf4j.Slf4jLog (Slf4jLog.java:45) - Scanning for classes at classpath:db/migration
这让我很困惑为什么Flyway 无法找到我的文件。据我所知,我已经按照文档的建议做了所有事情。我的测试最终失败了,因为我的表从未迁移过,因此Slick 找不到。
我的迁移文件中可能存在错误,但我认为Flyway 会为此进行某种日志记录?我没有看到类似的东西。
【问题讨论】: