【问题标题】:Can't get Play evolutions to work无法让 Play 进化工作
【发布时间】:2016-11-02 20:25:39
【问题描述】:

我有一个 Play 2.3.7 项目,但不知何故,进化对我不起作用。
我使用 Scala 2.11 和 sbt 0.13.5。还使用了 Scala.js,因此文件夹结构对于 Play 项目来说有点不寻常。
我有一个配置文件,上面写着applyEvolutions.default=true,并且我将我的默认数据库指定为 Postgres。
知道出了什么问题吗?我的模型文件夹在jvm/app/models,可能是这个原因吗?
另外,有人可以解释一下进化是如何工作的(至少在高层次上)吗?它是否知道模型类的字段并跟踪哪些字段已在我的数据库中表示?

【问题讨论】:

  • 我也遇到了同样的问题,你找到解决办法了吗?
  • @M-N 我的想法——尽管我没有任何来源支持这一点——进化脚本不是自动生成的。例如如果要添加字段,请手动添加带有上下指令的新文件,然后播放!启动时应用它
  • @M-N,如果我没记错的话,Play 应用了我的进化——我只是希望看到更多的表(这不是我开始的项目,所以我不确定数据是如何存储的)
  • 是的,谢谢,我也在处理其他人的代码,这里的问题是 jdbc 依赖,它没有添加到 build.sbt

标签: scala playframework playframework-2.0 playframework-evolutions


【解决方案1】:

Play 文档非常简单,供您参考游戏进化:Evolution

Play 使用多个演变脚本跟踪您的数据库演变。这些脚本是用普通的旧 SQL 编写的,应该位于应用程序的 conf/evolutions/{database name} 目录中。如果进化适用于您的默认数据库,则此路径为 conf/evolutions/default。

Ups 部分描述所需的转换,而 Downs 部分描述如何还原它们。

【讨论】:

    猜你喜欢
    • 2018-02-11
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 2020-02-23
    • 2014-12-26
    • 2017-12-22
    • 2012-02-28
    • 2015-12-01
    相关资源
    最近更新 更多