我正在开发一个用 Django 编写并使用 PostgreSQL 作为数据库后端的 Web 应用程序。我想启动一个 ReactNative 移动应用程序,以便用户可以离线操作该应用程序。我担心管理数据库冲突,用户在移动应用程序上离线执行一个操作,在 Web 应用程序中执行一个冲突操作,然后这两个操作需要同步、冲突管理和合并。
我知道您不希望 ReactNative 从 ReactNative 直接连接到您的 PostgreSQL 数据库,如 this question 中所述。 .我也知道 AsyncStorage在 ReactNative 中。我不知道如何最好地将两者结合起来。我看到了几个关于将网络应用程序数据与移动数据同步的问题(例如 this ),但我正在专门寻找 PostgreSQL 和 ReactNative 解决方案。我看到很多 results对于 ReactNative 中的 DB 解决方案,但我不是在寻找新的热点或最终不会被维护的宠物项目。我也听说过 RealmDB看起来不错,但似乎不是免费的。简而言之,我正在寻找最可靠、最简单且经过验证的解决方案来管理 ReactNative 中的数据并与 PostgreSQL 同步。
我现在问的时候没有任何 ReactNative 代码,因为我想确保我从一开始就正确地设置了 ReactNative 应用程序,而不是必须返回并重写我所有的数据存储代码。
使用一个非常基本的示例,假设在地铁上并且没有 WiFi 或移动数据时,用户将 task_A
从 incomplete->complete
更改。然后用户在上类后跳上他的笔记本电脑,将 task_A
的状态从 incomplete->in_progress
更改。当用户将他的移动设备连接到 WiFi 并同步应用程序数据时,使用 AsyncStorage
存储的移动数据与 PostgresDB 中的数据将发生冲突。
对于使用 Django 和 PostgreSQL 的 Web 应用程序,ReactNative
的最佳数据存储包装器是什么?
我也在 Software Recommendations 上问过这个问题但那边却出奇地安静。
最佳答案
您可以将 pouchDB
添加到您的 ReactNative 应用程序而不是 AsyncStorage
并使用 pouchDB
将其连接到您的 Postgres 数据库,如前所述 here
UPDATE: It is worth investigating
Operational Transformations
for future reference:
关于android - 如何同步 PostgreSQL 数据和 React Native 移动应用程序数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53191854/