Wie synchronisiere ich Offline-SQLite mit der MySQL-Onlinedatenbank in Flutter? Irgendwelche Vorschläge?
您想在设备和服务器之间离线或在线保持数据同步吗?
使用包:https://pub.dev/packages/objectbox
有关更多信息,请访问:https://objectbox.io/sync
听起来您正在寻找离线优先架构。简而言之,在这种架构中,您的应用程序仅与本地数据库通信。您的本地数据库(SQLite)将与服务器数据库(MySQL)通信。
要同步两个数据库,您必须将更新或新数据从本地数据库发送(通过 API)到服务器,您将在其中处理数据合并,然后取回合并的数据进行保存如果服务器数据库上有任何更新或新数据,它会返回到本地数据库。
同步数据库时,您将面临的最重要问题是来自多个客户端应用程序的数据冲突。例如,两个人同时更新相同的数据。因此,您必须在服务器端做出一些决定,例如谁的数据应具有更高的优先级。
在本地数据库中,您必须维护每个表的同步状态,例如上次同步的数据时间和上次更新的日期时间。在服务器数据库上,您需要每个表的最后更新日期时间。然后借助这些日期,您可以确定是否有任何新的或更新的数据需要同步。
您想在设备和服务器之间离线或在线保持数据同步吗?
使用包:https://pub.dev/packages/objectbox
有关更多信息,请访问:https://objectbox.io/sync
听起来您正在寻找离线优先架构。简而言之,在这种架构中,您的应用程序仅与本地数据库通信。您的本地数据库(SQLite)将与服务器数据库(MySQL)通信。
要同步两个数据库,您必须将更新或新数据从本地数据库发送(通过 API)到服务器,您将在其中处理数据合并,然后取回合并的数据进行保存如果服务器数据库上有任何更新或新数据,它会返回到本地数据库。
同步数据库时,您将面临的最重要问题是来自多个客户端应用程序的数据冲突。例如,两个人同时更新相同的数据。因此,您必须在服务器端做出一些决定,例如谁的数据应具有更高的优先级。
在本地数据库中,您必须维护每个表的同步状态,例如上次同步的数据时间和上次更新的日期时间。在服务器数据库上,您需要每个表的最后更新日期时间。然后借助这些日期,您可以确定是否有任何新的或更新的数据需要同步。