【发布时间】:2010-12-25 03:45:05
【问题描述】:
如何一步迁移整个数据库? south 的 startmigration 命令只能用于单个应用程序
【问题讨论】:
标签: django django-south
如何一步迁移整个数据库? south 的 startmigration 命令只能用于单个应用程序
【问题讨论】:
标签: django django-south
如果您想创建迁移,manage.py startmigration 已被弃用(请参阅manage.py help startmigration),您应该使用manage.py schemamigration(如the docs 中所述),并且您绝对应该使用在每个应用上单独执行此操作。
如果你想运行迁移(换句话说,我猜是对数据库进行实际更改),如果运行的话,命令是manage.py migrate不带任何参数,将您的所有应用迁移到最新的可用迁移。
我的部署脚本只有manage.py migrate,无论有多少应用需要运行新的迁移,它都可以在没有人工干预的情况下正常工作。
【讨论】:
即使使用原始 SQL,您也无法在一步中迁移整个数据库,因为您需要对每个表进行查询。但是,您可以为所有应用程序创建迁移,然后一次运行它们。这是您最接近一步迁移的方法。
【讨论】:
s the problem. how automate this process if I dont 知道最后会有多少应用程序吗?