我正在开发一个将使用多个数据库后端的 Django 应用程序。我想在运行 django 应用程序的机器上放置一个 sqlite 数据库,并同步到远程 mysql 数据库。棘手的部分是运行应用程序的这台机器并不总是有互联网连接,因此 mysql 数据库并不总是可用的。将有多台机器运行应用程序,每台机器都有自己的本地 sqlite 数据库,但都使用相同的远程 mysql 数据库。
我还没有编写代码,但这是我的想法。每次我运行插入或更新时,我都想将它写入两个数据库,除非远程数据库不可用,在这种情况下,我会将 sql 语句保存在本地数据库的表中,以便在远程数据库可用时运行。
这可以通过数据库路由器来完成,还是我需要用每个 db 语句手动实现?
PK注意事项:没有直接关系,但肯定会被问到。主键将在每台机器上本地生成。在 mysql 数据库中,将有一个用于此键的字段,以及一个为应用程序的每个实例提供唯一标识符的字段,它们将共同提供一个唯一键。