我尝试按照here所述从ClassLoader应用自定义Evolution。我的代码:

Evolutions.applyEvolutions(database, Evolutions.fromClassLoader(CollectorTest.class.getClassLoader(), "testdatabase/"));

我的自定义脚本在目录“ test / resources / testdatabase / evolutions / default / 4.sql”中。但是进化是行不通的。
目录“ conf / evolutions / default”中的脚本1.sql,2.sql,3.sql正常工作。
如果我这样执行脚本:

Evolutions.applyEvolutions(database, Evolutions.forDefault(new Evolution(4, myUpScript, myDownScript));


一切正常。

如何正确地从.sql脚本应用自定义Evolution?

最佳答案

它没有用,因为Evolutions类存在于两个不同的程序包中,并且该示例并未提供太多信息。以下适用于游戏2.7.3和Scala 2.11:

play.api.db.evolutions.Evolutions.applyEvolutions(database, play.db.evolutions.Evolutions.fromClassLoader(getClass().getClassLoader(), "testdatabase/"));

10-06 13:09