我开始使用PouchDB并寻找一个解决方案,这将允许我在未来没有重大痛苦的情况下更改我的架构,所以如果我想到了一切,我现在不必担心。我正在寻求计划我可能需要改变到我没有预测到的结构的情况(例如:让我们说我从一个单一的概念开始;#34;愿望list"但后来支持多个命名列表。)
我的高级想法是拥有一些内部有意义的"架构版本"保存到每个PouchDB实例中。然后我的客户端JS可以读取它,如果有必要的数据迁移,它可以在继续之前执行。有没有"最佳实践"如何做到这一点?
答案 0 :(得分:2)
有一个名为pouchdb-migrate的插件可用于完成此任务。保持整数版本是好的;你也可以使用“duck versioning”(例如“我在v2中添加lastName
字段,所以如果没有lastName
,那么文档必须是v1”)。