如何实现 flyway-play Java 迁移



是否可以在flyway-play中使用Java迁移脚本(3.0.0)?

SQL 迁移

工作正常,但是当我将示例 Java 迁移脚本放入 app\db\migration\V1_0_1__PopulateDatabase.java 或与 SQL 脚本相同的目录中时,它没有被识别为有效的迁移脚本。

以前有人尝试过吗?

根据 flyway-play 自述文件,Flyway 迁移(脚本或 Java 迁移)需要放在 db/migration/${dbName} 的类路径上。

例如,假设我有一个名为 default 的数据库连接,在application.conf中指定如下:

db.default {
  driver=org.postgresql.Driver
  url="jdbc:postgresql://localhost/database"
}

在这种情况下,我需要将 sql 迁移放在 conf/db/migration/default 上,将 Java 迁移放在 app/db/migration/default 上。

在您的情况下,您尚未在 Java 迁移的路径中包含数据库名称。而您已经将迁移放在app/db/migration/V1_0_1__PopulateDatabase.java,它可能应该像 app/db/migration/default/V1_0_1__PopulateDatabase.java .

你也可以用 Scala 编写迁移,flyway-play 会拾取它们(它会扫描 Scala 和 Java 迁移)。flyway-play 存储库有一个示例 Play 应用程序,它执行此操作:https://github.com/flyway/flyway-play/tree/master/playapp/app/db/migration/java

最新更新