在游戏 2 中重新生成进化脚本
Posted
技术标签:
【中文标题】在游戏 2 中重新生成进化脚本【英文标题】:Regenerate evolution scripts in play 2 【发布时间】:2012-05-29 21:25:10 【问题描述】:我仍在开发 Play 2 上的应用程序的第一个版本。如何重新生成进化脚本?
【问题讨论】:
【参考方案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
干杯
【讨论】:
以上是关于在游戏 2 中重新生成进化脚本的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的非静态游戏对象在场景重新加载后会在脚本中丢失其引用?