我尝试按照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/"));