与基于 pouchdb 的系统客户端同步数据:'deleted' 标志是否有解决方法?

Data syncing with pouchdb-based systems client-side: is there a workaround to the 'deleted' flag?

我打算在后端使用 rxdb + hasura/postgresql。例如,我正在阅读 this rxdb page,它立即要求可同步实体具有 deleted 标志。

Q1(主要问题)

我预见 deleted 的数量在我的应用程序中快速增长,我不想永远存储所有这些额外数据。

Q2(奖金/只是好奇)

最终取决于您的特定 business/product 关于您希望在系统中保留已删除实体多长时间的决定。对于某些应用程序,重要的是始终保留已删除内容的历史记录,甚至对作为分类帐或历史记录存储的记录的个别修订。您必须判断要将已删除的实体保留多长时间。

如果您还没有添加一个 deleted_at 列,我建议您也添加一个,这样您就可以轻松地利用像 Hasura 的新 Scheduled Triggers functionality 之类的东西来 运行 一个经常性的工作完全删除早于您的阈值的记录。

您还可以利用 Hasura 的权限系统来确保已删除的行不会返回给客户端。有 documentation and examples 软删除和 Hasura

的使用方法

对于你的第二个问题,检查记录上的删除标志肯定比必须尝试比较整个数据集以查找现在丢失的东西要快得多。