我确信这是非常简单的事情,但对于我的生活不能 在谷歌上找到正确的关键字。
自从我上次部署以来,基本上我已经更新了几个型号。使用jpa.ddl默认设置create-drop设置Dev。现在我读到prod不应该用jpa.ddl = update运行,那么这是否意味着我必须手动编写模式更改脚本?我找不到任何说明正确方法的文件。我也在使用playapps,所以数据库就在那里设置了。我设置了ssl,所以我应该通过命令行访问sql。但是,我很难搞清楚修改db的语法。我已经习惯了一个gui环境,比如phpMySQL或者microsoft的sql server。我特别得到的错误是以下两个(在上传到prod后运行应用程序时)。
不成功:alter table PhotoSlide添加索引FK57E3FABF5C905145(aPhoto_id),添加约束FK57E3FABF5C905145外键(aPhoto_id)引用StorePhoto(id)
无法添加或更新子行:外键约束失败(play/#sql-2e29_32
,CONSTRAINT FK57E3FABF5C905145
FOREIGN KEY(aPhoto_id
)参考StorePhoto
(id
))
答案 0 :(得分:1)
您可以使用迁移模块实现这一目标。您可以找到更多详细信息@ http://www.playframework.org/modules/migrate
流程如下: 你将新代码推送到prod - >你运行迁移 - >重启服务器
更多文档: https://github.com/dcardon/play-migrate/blob/master/documentation/manual/home.textile
最新版本播放支持迁移: http://www.playframework.org/documentation/1.2.4/evolutions