为所有应用运行南迁移

7 投票
2 回答
3018 浏览
提问于 2025-04-17 00:17

我刚开始使用South,还在慢慢摸索中。假设我有一个模型的初始迁移脚本。然后我给这个模型添加了一个新列,并为它创建了一个迁移脚本。接着,我又给另一个模型添加了一个新列,并为它创建了另一个迁移脚本。我是通过运行 ./manage.py schemamigration myappname --auto 来创建这些迁移脚本的。

假设我有一个服务器,上面部署了我的项目,但这个项目是基于应用的初始结构的,现在它落后于代码库,有两个迁移没有更新。我可以通过运行 ./manage.py migrate myappname 来让它更新到最新状态。如果我没理解错的话,这样可以通过运行新的迁移来更新这个应用的模型,但我必须明确指定这个应用。

那么,South是否允许你一次性运行Django项目中所有应用的所有待处理迁移?如果可以的话,怎么做呢?我在文档中找不到相关的信息。

非常感谢大家。

2 个回答

1

你也可以试试:

./manage.py syncdb --migrate

把所有使用 south 的应用程序进行 迁移,然后 同步 那些不使用 south 的应用程序。

18

为了让所有应用程序的迁移都更新到最新状态,可以运行以下命令:

./manage.py migrate

很简单。 :)

撰写回答