【问题标题】:PouchDB designing for forwards compatibilityPouchDB 前向兼容性设计
【发布时间】:2015-05-15 23:16:06
【问题描述】:

我开始使用 PouchDB 并寻找一种解决方案,该解决方案可以让我在未来更改我的架构而不会遇到很大的痛苦,所以如果我已经考虑了所有事情,我现在不必担心。我正在寻求计划我可能需要更改为我没有预测的结构的情况(例如:假设我从单个“愿望清单”的概念开始,但后来支持多个命名列表)。

我的高级想法是在每个 PouchDB 实例中保存一些具有内部意义的“模式版本”。然后我的客户端 JS 可以将其读入,如果需要进行数据迁移,它可以在继续之前执行该操作。是否有任何“最佳实践”方法可以做到这一点?

【问题讨论】:

    标签: pouchdb


    【解决方案1】:

    您可以使用一个名为pouchdb-migrate 的插件来完成此操作。保持整数版本很好;您还可以使用“鸭子版本控制”(例如“我在 v2 中添加了一个 lastName 字段,所以如果没有 lastName,那么文档必须是 v1”)。

    【讨论】:

    • 完美时机!我看到它刚刚发布。
    • 顺便说一句,您是否认为这种“方法”(即假设我不会第一次获得正确的模式,我需要在某个时候打破兼容性并为此进行计划)是好吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-28
    • 1970-01-01
    • 2012-02-13
    • 2013-12-11
    相关资源
    最近更新 更多