【问题标题】:Regenerate evolution scripts in play 2在游戏 2 中重新生成进化脚本
【发布时间】:2012-05-29 21:25:10
【问题描述】:

我仍在开发 Play 2 上的应用程序的第一个版本。如何重新生成进化脚本?

【问题讨论】:

    标签: playframework playframework-2.0 playframework-evolutions


    【解决方案1】:

    免责声明它将破坏您现有的数据库并创建新数据库!

    自动进化将在以下情况下自动再生:

    • 您正在dev 模式下运行您的应用程序
    • application.conf 你有这行not 评论:ebean.default="models.*"
    • 你的进化文件夹中只有一个文件,它是1.sql
    • 开头有这样的评论:

    # --- Created by Ebean DDL

    【讨论】:

    • 我发现只有在执行“播放测试”时才会重新生成脚本。如果我“玩干净”或“玩编译”,它不会。你知道重新生成进化脚本需要什么命令吗?
    • @angelokh - 抱歉,我之前没有找到您的评论:?可能你在这么长时间后找到了答案,但是,当然重新生成只能在dev 模式下工作
    【解决方案2】:

    使用 play 2.4、Slick 3.0.3 和 postgres,放置在进化文件夹中的 *.sql 文件在 Heroku 中使用以下设置自动生成:

    在 build.sbt 中:

      "com.typesafe.play" %% "play-slick" % "1.0.1",
      "com.typesafe.play" %% "play-slick-evolutions" % "1.0.1",
      "com.typesafe.slick" %% "slick" % "3.0.3",
      "org.postgresql" % "postgresql" % "9.4-1201-jdbc41",
      "org.slf4j" % "slf4j-nop" % "1.6.4",
    

    在 application.conf 中:

    slick.dbs.default.driver ="slick.driver.PostgresDriver$"
    slick.dbs.default.db.dataSourceClass = "slick.jdbc.DatabaseUrlDataSource"
    slick.dbs.default.db.properties.driver = "org.postgresql.Driver"
    

    在 Procfile 中:

    -Dplay.evolutions.db.default.autoApply = true
    

    干杯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-12
      • 1970-01-01
      • 1970-01-01
      • 2015-08-18
      • 1970-01-01
      相关资源
      最近更新 更多