将South添加到现有的Django项目中。我把它安装在开发机器和“生产”服务器上。
我在开发机器上完成了以下操作:然后:将南方应用添加到settings.py,
python manage.py syncdb
python manage.py convert_to_south myproject.myapp
然后改变了一些模型,然后
python manage.py schemamigration myproject.myapp --auto
python manage.py migrate myproject.myapp
到目前为止似乎工作。我现在不太确定的是在生产服务器上做什么。只需手动重复所有这些步骤?上传修改后的settings.py,执行syncdb,convert_to_south,上传修改过的models.py,做schemamigration,迁移?有些不同?教程here说明了如何将迁移添加到版本控制中,因此,大概应该将它们上传并以某种方式应用于生产服务器上?
此外,现在我在开发机器上使用sqlite3,在服务器上使用mysql - 它是不是在南方做任何不同的事情?
答案 0 :(得分:16)
我的导游说:
import south
只是为了确保你使用相同的python环境。'south'
添加到INSTALLED_APPS
中的settings.py
。settings.py
。python manage.py syncdb
。app/models.py
和app/migrations/
目录。python manage.py migrate app --fake 0001
python manage.py migrate app
答案 1 :(得分:4)
要确保南迁移表存在,
python manage.py syncdb
然后
python manage.py migrate myproject.myapp --fake 0001
python manage.py migrate myproject.myapp
这对我有用。 :)
答案 2 :(得分:0)
无需在Django中执行此操作> = 1.7
我被困在这超过1小时:)
最后发现1.7和更多的人正在建设从南方升级
了解更多信息https://docs.djangoproject.com/en/1.7/topics/migrations/#upgrading-from-south
可能是这个帮你