[开发者心得] 【数据升级】数据中心之数据升级

[复制链接]
1522 |10
空伊伊 发表于 2023-7-6 14:27:25 | 显示全部楼层 |阅读模式
本帖最后由 空伊伊 于 2023-11-8 16:27 编辑

数据中心之数据升级
所使用编辑器版本:Online_v0.27


当我们游戏已经发布到线上后,但是需要对一些数据的字段进行增加、修改、删除时,就需要进行“数据升级”,数据升级能够保证旧存档数据不被删除的情况下对数据字段进行操作,具体内容大家可以观看下面的这个视频:


tips:视频是基于026版本制作的。视频中的代码会与实际有所出入,建议以演示工程中的代码为准


这里附上视频里的演示工程:

数据升级.rar (58.76 KB, 下载次数: 85)

回复

使用道具 举报

kk 发表于 2023-7-6 15:00:20 | 显示全部楼层
6
回复

使用道具 举报

空伊伊楼主 发表于 2023-7-6 15:04:28 | 显示全部楼层
回复

使用道具 举报

窜稀大仙 发表于 2023-8-6 23:41:23 | 显示全部楼层
本帖最后由 窜稀大仙 于 2023-8-6 23:43 编辑

能不能在onDataInit()中,通过逐个判断每个字段是否为undefined执行初始化.
加上新字段后,把这个属性的初始化写在onDataInit里就不用管了,这样会省事好多吧
initDefaultData写个空方法就行.
这样可以吗
回复

使用道具 举报

空伊伊楼主 发表于 2023-8-7 13:15:44 | 显示全部楼层
窜稀大仙 发表于 2023-8-6 23:41
能不能在onDataInit()中,通过逐个判断每个字段是否为undefined执行初始化.
加上新字段后,把这个属性的初始 ...

initDefaultData是在没有存档的情况下才会调用。onDataInit不管有没有存档都会调用。
回复

使用道具 举报

窜稀大仙 发表于 2023-8-7 13:50:21 | 显示全部楼层
空伊伊 发表于 2023-8-7 13:15
initDefaultData是在没有存档的情况下才会调用。onDataInit不管有没有存档都会调用。
...

所以initDefaultData就不用了,onDataInit初始化和更新全包了,完全不用考虑数据版本,我这种写法会不会有什么问题呢
回复

使用道具 举报

空伊伊楼主 发表于 2023-8-7 13:59:18 | 显示全部楼层
窜稀大仙 发表于 2023-8-7 13:50
所以initDefaultData就不用了,onDataInit初始化和更新全包了,完全不用考虑数据版本,我这种写法会不会有什 ...

initDefaultData要用,不然你getData的时候,新增的字段会是undefined。
回复

使用道具 举报

窜稀大仙 发表于 2023-8-7 14:02:32 | 显示全部楼层
空伊伊 发表于 2023-8-7 13:59
initDefaultData要用,不然你getData的时候,新增的字段会是undefined。

我在onDataInit已经逐个判断了字段是否为undefined,如果未定义就给这个字段单独初始化.
只要执行了onDataInit,就不会在getData时读到undefined
现在我暂时不知道这样会有什么问题,我先试试

回复

使用道具 举报

你若盛开,蝴蝶自来 发表于 2023-8-31 09:30:05 | 显示全部楼层
牛呀大佬,再也不用担心数据升级的问题啦。
回复

使用道具 举报

掏泥酱 发表于 2023-11-24 23:13:39 来自手机 | 显示全部楼层
大佬,我想看一下视频,现在看不见了,我想学习一下 数据升级
回复

使用道具 举报

热门版块
快速回复 返回顶部 返回列表