Django South:如何在多个代码库安装和一个中央数据库中使用?

3 投票
1 回答
533 浏览
提问于 2025-04-16 12:59

我正在把一个已有的代码库(里面有几个应用)转换成使用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

不,你只需要用它来对数据库的结构进行修改。你不需要在服务器2和服务器3上再次运行迁移,因为它们使用的是和服务器1一样的数据库。

撰写回答