Django迁移model时会根据model.py在对应数据库中创建相应的数据表:
- Django1.7以下用django-admin命令中有syncdb指令。
python manage.py syncdb
第一次执行会创建所有数据表;
再次执行只会创建model中新的数据表。如果已有数据表,只是对其进行了修改如:字段的增加减少,并不会进行迁移。syncdb指令无法自动更改数据库表结构,因此需要手动删除数据库表,再运行syncdb指令 - Django1.7之后改为了
python manger.py makemigrations #在app下建立migrations目录,记录model的改动,此时并为改动数据库表
python manager.py migrate #将改动作用到数据库文件,改动数据库表
- 第三方迁移工具
South是普遍使用的第三方迁移工具,记录每次迁移记录,并可以在不同版本的数据库表版本中切换