我通过在他们的网站上按照教程构建一个小博客引擎来学习游戏.
它使用JPA并在其引导程序中调用Fixtures.Deletemodels(),(或类似的东西).
它基本上每次运行时都会核对所有表,我丢失了所有数据.
我已经部署了一个生产系统(没有核武器声明).
现在我需要将大量更新部署到生产系统.许多类已更改,已添加并已删除.在我的本地测试中,没有在每次运行时查看表,我遇到了同步问题.当我尝试写或从表中读取时,播放会抛出错误.我打开了mysql,确定表格在某些情况下只是部分修改和修改不正确.即使我在我的配置中将DDL模式设置为"创建",JPA也似乎无法"弄清楚"如何协调更改并相应地修改我的架构.
所以我必须回到我所有桌子的核心引导声明中.
所以我开始研究Play中的数据库演变,并在play框架网站上阅读有关数据库演变的文章.文章讨论了版本脚本,但它说,"如果您使用JPA,Hibernate可以自动为您处理数据库演变.如果您不使用JPA,演变很有用".
因此,如果JPA应该为我处理这个问题,我该如何在大型Play应用程序中部署大型更新?到目前为止,JPA无法正确更改架构,应用程序将抛出错误.我对丢失我的所有数据都不感兴趣,所以修复dev"Fixtures.deleteModels()"无法真正用于prod.
先谢谢你,乔希
有时我的播放应用程序会回吐"未找到路线并且尝试了以下所有路线"页面.
正在尝试的路由虽然有效,但在我的路线文件中指定.
在我的浏览器上重新加载,因此启动第二个请求可以解决问题.
对于给定的页面,我可以在浏览器上重新加载100次,有几次我会找到未找到路径的屏幕.这不是负载平衡问题,因为我直接点击单个服务器.
这对客户产生了影响.我们可以告诉他们"如果发生这种情况就重装",但我对此并不满意.它让我们看起来很糟糕.这是在发挥1.2.3.任何帮助表示赞赏.
另外,为了捆绑另一个问题,当发生这种情况时,未找到的路由页面不会被呈现,它作为html源来到客户端,并且它们的客户端浏览器显示源而不是将其呈现为HTML.
/在Play玩摇头
谢谢乔希