首页 > 解决方案 > 如何同步 PostgreSQL 数据和 ReactNative 移动应用数据?

问题描述

我正在开发一个用 Django 编写并使用 PostgreSQL 作为数据库后端的 Web 应用程序。我想启动一个 ReactNative 移动应用程序,以便用户可以离线操作该应用程序。我担心管理数据库冲突,其中用户在移动应用程序上离线执行一项操作,在 Web 应用程序中执行一项冲突操作,然后这两个操作需要同步、冲突管理和合并。

我了解您不希望 ReactNative 直接从 ReactNative 连接到您的 PostgreSQL 数据库,如本问题中所述。我也知道ReactNative中的 AsyncStorage。我不知道如何最好地将两者结合起来。我已经看到了一些关于将 web 应用程序数据与移动数据同步的问题(例如,this),但我正在专门寻找 PostgreSQL 和 ReactNative 解决方案。我在 ReactNative 中看到了很多 DB 解决方案的结果,但我并不是在寻找新的热点或最终不会被维护的宠物项目。我还听说过RealmDB,它看起来很棒,但似乎不是免费的。简而言之,我正在寻找最可靠、最简单和经过验证的解决方案来管理 ReactNative 中的数据并与 PostgreSQL 同步。

我现在问的是没有任何 ReactNative 代码,因为我想确保我从一开始就正确设置了 ReactNative 应用程序,而不是必须回去重写我所有的数据存储代码。

举一个非常基本的例子,假设在地铁上并且没有 WiFi 或移动数据,用户task_Aincomplete->complete. 然后,用户在到达工作地点后跳上他的笔记本电脑并更改task_Afrom的状态incomplete->in_progressAsyncStorage当用户在 WiFi 上获取他的移动设备并同步应用程序数据时,使用存储的移动数据与 PostgresDB 中的数据之间存在冲突。

ReactNative鉴于 Web 应用程序使用 Django 和 PostgreSQL ,最好的数据存储包装器是什么?

我也在软件推荐上问过这个问题,但那里非常安静。

标签: androidiospostgresqlreact-native

解决方案


您可以添加pouchDB到您的 ReactNative 应用程序,而不是使用这里提到的AsyncStorage将其连接到您的 Postgres DBpouchDB

更新:值得研究Operational Transformations以供将来参考:


推荐阅读