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