【问题标题】:PlayFramework apply Evolutions from ClassLoaderPlayFramework 从 ClassLoader 应用 Evolutions
【发布时间】:2017-10-23 08:00:14
【问题描述】:

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

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】:

它不起作用,因为 Evolutions 类存在于两个不同的包中,并且该示例没有提供太多信息。以下适用于 play 2.7.3 和 scala 2.11:

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

【讨论】:

    猜你喜欢
    • 2015-05-18
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多