在不破坏现有保存的情况下更改已保存的应用数据格式的策略(JavaScript + IndexedDB)

时间:2016-07-15 16:42:06

标签: javascript json persistence indexeddb

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

随着我将来添加更多功能,我可能会想要更改JSON格式,例如添加新字段,重命名字段,规范化之前未规范化的数据。

我还没有发布应用程序而且我对此感到紧张,因为1)如果我更改数据格式,我必须小心我不要打破数据加载以前的格式2)必须考虑旧的数据格式将减慢我可以改变应用程序的积极性。

我是否可以使用任何策略来减轻文件格式更改对我的开发速度和错误风险的影响?

2 个答案:

答案 0 :(得分:1)

这就是您打开数据库时必须指定版本的原因。然后,如果您的架构发生更改,请增加版本并在Replace处理程序中编写代码,以处理从旧版本更改存储数据的问题。

答案 1 :(得分:1)

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