在不中断现有保存的情况下更改已保存应用程序数据格式的策略(JavaScript+;IndexedDB)

在不中断现有保存的情况下更改已保存应用程序数据格式的策略(JavaScript+;IndexedDB),javascript,json,persistence,indexeddb,Javascript,Json,Persistence,Indexeddb,我有一个应用程序,可以为数千个文件编制索引,并在用户的计算机上以JSON格式存储有关文件及其关系的信息。我正在使用JavaScript和IndexedDB。重要的一点是数据不是存储在我控制的中央数据库中,它必须是JSON格式的,并且有大量的数据 随着我将来添加更多功能,我可能希望更改JSON格式,例如添加新字段、重命名字段、规范化以前未规范化的数据 我还没有发布应用程序,我对此感到紧张,因为1)如果我更改了数据格式,我必须小心不要破坏以前格式的数据加载2)必须考虑旧的数据格式会降低我更改应用程序

我有一个应用程序,可以为数千个文件编制索引,并在用户的计算机上以JSON格式存储有关文件及其关系的信息。我正在使用JavaScript和IndexedDB。重要的一点是数据不是存储在我控制的中央数据库中,它必须是JSON格式的,并且有大量的数据

随着我将来添加更多功能,我可能希望更改JSON格式,例如添加新字段、重命名字段、规范化以前未规范化的数据

我还没有发布应用程序,我对此感到紧张,因为1)如果我更改了数据格式,我必须小心不要破坏以前格式的数据加载2)必须考虑旧的数据格式会降低我更改应用程序的积极性


有什么策略可以用来降低文件格式更改对我的开发速度和bug风险的影响吗?

这就是为什么在打开数据库时必须指定版本的原因。然后,如果你的模式改变了,增加版本并在你的代码> OnUpGeAldEnEdE/Ung>处理程序中编写代码,以处理从旧版本改变存储的数据。

什么哑铃说,但是要考虑的另一件事是在对象本身中存储一个版本字段。首先读入,然后动态确定如何解释对象的其他字段