PlayFramework应用ClassLoader的演变

问题描述 投票:1回答:1

我尝试按照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?

java playframework
1个回答
0
投票

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

play.api.db.evolutions.Evolutions.applyEvolutions(database, play.db.evolutions.Evolutions.fromClassLoader(getClass().getClassLoader(), "testdatabase/"));
© www.soinside.com 2019 - 2024. All rights reserved.