在游戏中进行进化的正确方法

Posted

技术标签:

【中文标题】在游戏中进行进化的正确方法【英文标题】:The Right Way To Do Evolutions In Play 【发布时间】:2013-05-29 18:07:14 【问题描述】:

我目前正在开发一个播放应用程序,作为我正在开发的移动应用程序的后端 API。

到目前为止,我已将 jpa.ddl 设置为更新,并且一切正常。当我向其中一个模型添加新字段时,它会为我更改数据库。

但是,我正在为生产做准备,我读过的所有内容,包括 play documentation 都说要关闭该功能并改用进化。但是,在我编写 1.sql 文件时,我遇到了几个问题:

我的模型中有数组,但我不确定它们在数据库中的表示方式 模型的一部分是其他模型的实例,我不确定对象在数据库中的表示方式

到目前为止,我不必担心数据库的实际构建方式,因为 Play/JPA/Hibernate 提供了一定程度的抽象。但现在看来我需要自己手动创建表,我找不到任何文档说明正确的方法。

我是否需要手动编写 SQL 来为我的模型创建表,如果需要,我如何在数据库中表示这些表?

编辑:我正在使用 play 1.2.4

【问题讨论】:

【参考方案1】:

是的,要进行进化,您必须知道如何将对象转换为表格。这也将帮助您了解 JPA 的工作原理。

为此,您可以查看您的数据库,了解自动 ddl 更新如何创建您的数据库。网上也有一些关于此的文档。例如:http://en.wikibooks.org/wiki/Java_Persistence。第 4 章包含解释这一点的图表。

【讨论】:

以上是关于在游戏中进行进化的正确方法的主要内容,如果未能解决你的问题,请参考以下文章

方舟生存进化怎么变成恐龙?

在游戏 2 中重新生成进化脚本

游戏跨服架构进化之路

游戏跨服架构进化之路

奥特曼格斗进化0怎么用屏障

进化计算/演化计算 导论