13

将 South 添加到现有的 Django 项目中。我将它安装在开发机器和“生产”服务器上。

我在开发机器上做了以下操作,然后:将 South app 添加到 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,迁移?有些不同?这里的教程说了一些关于将迁移添加到版本控制中的内容,所以,大概,它们应该被上传并以某种方式应用到生产服务器上?

此外,现在我在开发机器上使用 sqlite3 并在服务器上使用 mysql - 它会让事情变得不同吗?

4

3 回答 3

16

我的导游说:

  1. 在服务器上安装 South。import south从 shell 只是为了确保您使用的是相同的 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
于 2012-02-14T16:13:45.553 回答
4

为了确保南迁表存在,

python manage.py syncdb

接着

python manage.py migrate myproject.myapp --fake 0001
python manage.py migrate myproject.myapp

这对我有用。:)

于 2010-10-27T16:15:11.837 回答
0

无需在 Django >= 1.7 中执行此操作,
我被困在这个问题上超过 1 小时 :)
,最后发现 1.7 和更多的版本在从南升级

欲了解更多信息https://docs.djangoproject.com/en/1.7/topics/migrations/#upgrading-from-south
可能是这个帮助你

于 2015-03-27T11:14:17.253 回答