将South添加到Django项目,开发和扩展生产

时间:2010-10-27 16:12:13

标签: django migration django-south

将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 - 它是不是在南方做任何不同的事情?

3 个答案:

答案 0 :(得分:16)

我的导游说:

  1. 在服务器上安装South。来自shell的import south只是为了确保你使用相同的python环境。
  2. 'south'添加到INSTALLED_APPS中的settings.py
  3. 上传settings.py
  4. 重新启动服务器
  5. python manage.py syncdb
  6. 上传新的app/models.pyapp/migrations/目录。
  7. 重新启动服务器。
  8. python manage.py migrate app --fake 0001
  9. 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
可能是这个帮你