Django South迁移到不同的数据库

Ove*_*ked 14 django django-south

南荣誉数据库路由器?我设置路由器将某些应用程序路由到一个数据库,将所有其他应用程序路由到默认数据库.我甚至确保南迁移历史表在两个DB中.但我无法让South只在相应的数据库中应用迁移.即使我使用--database向南运行,它也会将所有迁移应用于我指定的数据库,而不仅仅是从应该转到该数据库的应用程序迁移.

救命!谢谢.

Tho*_*mas 11

"South是否尊重数据库路由器?" 不,不是的.

问题是Django的数据库路由器基于应用程序/模型将查询路由到数据库,而南部基于表.南方真的不知道表格对应的模型(特别是在历史中).Andrew Godwin目前正致力于为django开发一个contrib模块,它将取代南方并解决许多这些问题,但是现在你必须使用hacky方法手动完成大量的这项工作(--database,.using()).

我建议为了自动化,让所有数据库中都存在所有表,并对所有这些数据库运行所有迁移.只是为了确保所有约束在所有数据库中一致地工作.