PlayFramework从ClassLoader应用Evolutions

时间:2017-10-23 08:00:15

标签: java playframework

我尝试按照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脚本中的自定义演变?

1 个答案:

答案 0 :(得分:0)

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

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