django1.4 升级到 django1.8 south 问题

2017-07-03

由于django1.8 默认支持数据库 migrations。 所以 django1.4 时期用的 south 就废弃了。

升级步骤:

  • 首先,在 INSTALLED_APPS 中删除 south
  • 其次,删除 app 下的所有 migrations 文件夹下以数字开头的文件。注意,不要删除 init.py
  • 再次,运行 python manage.py makemigrations Django 会生成新的 migrations文件。
  • 最后,运行 python manage.py migrate --fake-initial
find . -type f -name '00*' -exec rm {} \;
python manage.py makemigrations
python manage.py migrate --fake-initial

参考文档

Django 官方文档

StackOverFlow