首页 > 解决方案 > 如何在桌面应用程序中保持 Firebase 实时数据库架构兼容?

问题描述

我正在构建一个桌面应用程序并添加了对 Firebase 实时数据库的支持。因为我正在运行一个桌面应用程序,所以用户将运行我的应用程序的不同版本。

随着我的应用程序的发展,将添加新功能,并且可能还需要更新数据库架构。但我不能这样做,因为我需要保持所有客户端版本兼容。

例如,我有项目保存在数据库中project/${uid}/${projectName}。想象一下,未来项目不再与用户绑定,因为我实现了“协作”并希望改变这条路径。我将如何做到这一点以保持我所有的客户正常运行?

标签: firebasefirebase-realtime-database

解决方案


您可以将该路径存储在实时数据库中,并根据需要在客户端上获取 URL。我不确定实施“协作”是什么意思,但如果您希望所有用户都使用相同版本的应用程序,那么您必须将最新版本存储在数据库中并在客户端自己验证版本。

项目不再与用户绑定

在我看来,如果您可以存储属于该项目一部分的用户 UID 列表,那么这将更容易,而不是将您的应用程序构建为projects/${uid}/projectname. 如果是这样,/projects/${projectId}那么存储授权用户列表会容易得多。

远程配置

Firebase 远程配置是一项云服务,可让您更改应用的行为和外观,而无需用户下载应用更新。

如果您正在构建桌面应用程序,您可能必须使用REST API 。同样正如评论中提到的@Doug,它可能不会同时同步所有客户端。


推荐阅读