小编Jos*_*der的帖子

当我使用JPA时,如何管理数据库演变?

我通过在他们的网站上按照教程构建一个小博客引擎来学习游戏.

它使用JPA并在其引导程序中调用Fixtures.Deletemodels(),(或类似的东西).

它基本上每次运行时都会核对所有表,我丢失了所有数据.

我已经部署了一个生产系统(没有核武器声明).

现在我需要将大量更新部署到生产系统.许多类已更改,已添加并已删除.在我的本地测试中,没有在每次运行时查看表,我遇到了同步问题.当我尝试写或从表中读取时,播放会抛出错误.我打开了mysql,确定表格在某些情况下只是部分修改和修改不正确.即使我在我的配置中将DDL模式设置为"创建",JPA也似乎无法"弄清楚"如何协调更改并相应地修改我的架构.

所以我必须回到我所有桌子的核心引导声明中.

所以我开始研究Play中的数据库演变,并在play框架网站上阅读有关数据库演变的文章.文章讨论了版本脚本,但它说,"如果您使用JPA,Hibernate可以自动为您处理数据库演变.如果您不使用JPA,演变很有用".

因此,如果JPA应该为我处理这个问题,我该如何在大型Play应用程序中部署大型更新?到目前为止,JPA无法正确更改架构,应用程序将抛出错误.我对丢失我的所有数据都不感兴趣,所以修复dev"Fixtures.deleteModels()"无法真正用于prod.

先谢谢你,乔希

mysql jpa playframework

6
推荐指数
1
解决办法
3984
查看次数

当路线有效时,播放返回路线未找到页面

有时我的播放应用程序会回吐"未找到路线并且尝试了以下所有路线"页面.

正在尝试的路由虽然有效,但在我的路线文件中指定.

在我的浏览器上重新加载,因此启动第二个请求可以解决问题.

对于给定的页面,我可以在浏览器上重新加载100次,有几次我会找到未找到路径的屏幕.这不是负载平衡问题,因为我直接点击单个服务器.

这对客户产生了影响.我们可以告诉他们"如果发生这种情况就重装",但我对此并不满意.它让我们看起来很糟糕.这是在发挥1.2.3.任何帮助表示赞赏.

另外,为了捆绑另一个问题,当发生这种情况时,未找到的路由页面不会被呈现,它作为html源来到客户端,并且它们的客户端浏览器显示源而不是将其呈现为HTML.

/在Play玩摇头

谢谢乔希

content-type routes playframework

5
推荐指数
0
解决办法
1007
查看次数

标签 统计

playframework ×2

content-type ×1

jpa ×1

mysql ×1

routes ×1