背景:
Angular 8 PWA SPA。使用Firebase身份验证。并且将Firestore作为DB。 (包括离子4)
所有读取和写入等操作都是通过AngularFire npm完成的。
这里到处都有执行业务逻辑的云功能。
所有软件包都是最新的。
场景:
在离线模式下使用打开的PWA版本3.1的移动用户会更新“ SampleDoc”类型的文档,这些文档正在等待同步到Firestore。
用户在周末休眠笔记本电脑。
[周末将发布一个软件更新,该更新将数据库更新为新格式的“ SampleDoc”文档的结构更改。部署了新版本的PWA 4.0。
用户星期一在办公室通过WiFi打开他的笔记本电脑,所做的更改将应用于DB破坏数据。
如何预防?
我来自经典的基于Spring Boot的服务器世界。这是我们的处理方式:
发送到服务器的每个HTTP请求都使用标有示例的API版本显示标头ApiVersion:3.1.0
在服务器上,有一个过滤器检查当前版本与传入版本,如果不匹配,则使用Web应用程序知道需要更新自身的HTTP错误代码拒绝该请求。用户通知更改无法应用,并且upp会自行更新。
如果直接与FireStore一起使用无服务器Angular SPA PWA,则无法添加此类过滤器。
在此技术堆栈中解决该问题的正确方法是什么?
其中一个想法是订阅一个保存有当前版本DB / APP的文档,但是有关更新的通知是否会到达[[之前
,AngularFire将尝试应用更改吗? 是否有办法防止这些更改发生?[背景:Angular 8 PWA SPA。使用Firebase身份验证。并且将Firestore作为DB。 (包括Ionic 4)所有读取和写入等操作都是通过AngularFire npm完成的。这里有云函数...