Django South:如何在多个代码库安装和一个中央数据库中使用?
我正在把一个已有的代码库(里面有几个应用)转换成使用South。现在我的代码库安装在1个开发服务器和3个生产服务器上。开发服务器有自己的数据库,而这3个生产服务器都连接到一个中央数据库。
我看了这个链接的内容:http://south.aeracode.org/docs/convertinganapp.html,但我还是有点困惑,不太知道接下来该怎么做。
这是我计划的步骤:
开发服务器:./manage.py syncdb
(在开发数据库中创建South表)
开发服务器:./manage.py convert_to_south myapp
(在开发数据库中创建South文件和记录)
开发服务器:推送到版本控制系统
服务器1:从版本控制系统拉取
(获取South文件)
服务器1:./manage.py syncdb
(在生产数据库中创建South表)
服务器1:./manage.py migrate myapp 0001 --fake
(在生产数据库中创建South记录)
服务器2:从版本控制系统拉取
(获取South文件)
服务器2:./manage.py migrate myapp 0001 --fake
服务器3:从版本控制系统拉取
(获取South文件)
服务器3:./manage.py migrate myapp 0001 --fake
对所有应用重复这些步骤。
问题1:
在服务器2和3上,./manage.py migrate myapp 0001 --fake
这一步是必须的吗?因为我会在服务器1上运行迁移,而这三台服务器都使用同一个数据库,所以看起来应该不需要,但我不是百分之百确定。
问题2:
如果在服务器2和3上需要执行./manage.py migrate myapp 0001 --fake
,那么每次我进行数据库迁移时,都需要在服务器2和3上运行这个命令吗?
谢谢你们的帮助,像往常一样,非常感谢。
1 个回答
不,你只需要用它来对数据库的结构进行修改。你不需要在服务器2和服务器3上再次运行迁移,因为它们使用的是和服务器1一样的数据库。