gpt4 book ai didi

android - Firestore 架构版本控制和向后兼容 Android 应用程序以防止崩溃

转载 作者:行者123 更新时间:2023-12-03 13:25:23 27 4
gpt4 key购买 nike

Firestore a NOSQL 是一个面向文档的数据库。现在,当我将数据与 Firebase SDK 和 Android 应用程序一起使用时,如何管理数据的版本控制?

例如假设我有一个 JSON 模式,我用我的 1.0.0 版本的 android 应用程序启动。后来 1.0.1 出现了,我必须为较新的文档添加一些额外的字段。由于我更改了结构以获取更多信息,因此它仅适用于新文档。

因此,使用这个逻辑,我可以看到我的 Android 应用程序必须能够处理所有版本的 JSON 树,如果用于我在 Firebase 控制台中使用 Firestore 创建的这个项目。但这可能很痛苦吧,我一直背负着向后兼容的重担?有没有办法拥有某种版本,如 protobuf 或 android 应用程序可以发送到 firestore 服务器端的东西,以便我们可以自动做一些事情来防止 android 应用程序在看到新字段时崩溃?

另请参阅this thread,工程师发布的那种问题。当 Android 应用程序在 JSON 树中发现新字段时,您可能会遇到此类问题
Add new field or change the structure on all Firestore documents

关于我们应该如何去做的任何建议?

在 node.js 架构中,我们使用 default-> v1.1/update 或
default-> v1.0/update,这样我们就可以管理路由。

但是对于 android+firebase SKD-> 与 Firestore NOSQL 交谈,我如何管理 json 模式的版本控制。

最佳答案

我们提出了 Firestore 的下一个版本控制:

  • 更喜欢附加更改,向后兼容 -> 保持结构
    照原样,但是添加了新字段(旧的可以忽略
    移动客户端)
  • 万一这是不可能的,我们正在倒退
    不兼容的更改:我们在 Firestore 中有一个名为“版本控制”的集合,其中存储具有允许版本的客户端。然后午餐移动应用程序为当前平台获取此版本,并将配置中的版本与存储在 Firestore 中的版本进行比较 - 如果版本低于允许的最低版本,则需要强制升级,否则如果版本低于当前版本,我们建议更新客户端,否则一切都很好.
    enter image description here
  • 关于android - Firestore 架构版本控制和向后兼容 Android 应用程序以防止崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52109026/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com