怎么看看玩什么!认为数据库架构是

时间:2013-07-03 03:30:19

标签: hibernate jpa playframework

我正在写剧本!框架后端。我开始设置jpa.ddl=update。但是,正如我所有人都建议的那样,我在准备生产jpa.ddl=none时改变了这一点。

由于这样做,我的理解是我必须通过使用数据库演进来自己跟踪数据库模式。到目前为止,我一直很好,但是现在我正在对我的模型进行修改,我发现JPA正在执行SQL查询,假设存在某些我没有手动创建的表。

我无法想象正确的事情就是运行我的代码,收到这样的错误:

ERROR: relation "games_users" does not exist

然后编写将创建该表的evolution脚本。那么有没有办法看看JPA / Play认为当前架构应该基于我的模型,以便我可以创建它或者有更好的方法来做到这一点吗?

1 个答案:

答案 0 :(得分:1)

解决方案可能是,在您开发过程中使用jpa.ddl=update,并且您不断修改JPA模型。在生产中不建议JPA更新您的模型,但您可以在开发中使用它。当您的软件稳定,并且您不再需要修改JPA实体时,您可以从自动生成的模式切换到固定模式。

可以在另一个数据库名称上开发另一个解决方案,然后在生成sql脚本的两个数据库之间进行差异化。

更无聊的解决方案是手动保留SQL进化脚本,每次修改JPA实体时编写脚本。