南方公司是否支持数据库路由?我设置了路由,将某些应用程序路由到一个数据库,而所有其他应用程序则路由到默认数据库。我甚至确保South的migrationhistory表在两个数据库中都存在。但是我无法让South仅在适当的数据库应用迁移。例如,即使我使用--database运行south,它也会将所有迁移应用于我指定的数据库,而不仅仅是该应用程序应该进入的数据库的迁移。
求助!谢谢。
南方公司是否支持数据库路由?我设置了路由,将某些应用程序路由到一个数据库,而所有其他应用程序则路由到默认数据库。我甚至确保South的migrationhistory表在两个数据库中都存在。但是我无法让South仅在适当的数据库应用迁移。例如,即使我使用--database运行south,它也会将所有迁移应用于我指定的数据库,而不仅仅是该应用程序应该进入的数据库的迁移。
求助!谢谢。
问题在于Django的DB路由器基于应用程序/模型来路由查询到数据库,而south是基于表格的。South实际上并不知道一个表格对应哪个模型(尤其是在历史记录中)。Andrew Godwin目前正在开发django的contrib模块来替代south并解决许多这些问题,但现在你需要使用hacky方法(--database
,.using()
)手动完成大部分工作。
为了自动化,请建立所有表格存在于所有数据库中,并针对所有这些数据库运行所有迁移,以确保所有约束在所有数据库中都能一致地工作。