Django不同版本进行数据库迁移
Django 1.7数据库迁移:
python manage.py makemigrations
python manage.py migrate
Django 1.6 是一个较旧的版本, 不支持makemigrations和migrate这两个命令,因为这两个命令是在Django 1.7 版本引入的。
一般在Django 1.6 及更早版本中,使用python manage.py syncdb 命令来创建数据库表和执行初始迁移。但这个命令在我的项目运行有错误,不能迁移,所以采用其他方式。
另外,再提示一下,python manage.py syncdb只能全局迁移,不能指定迁移某个app,这点不能同1.7版本后的migrate命令。
Django 1.6数据库迁移:
使用 South 进行数据库迁移
- 安装South
pip install south
- 创建迁移文件
python manage.py schemamigration myapp --initial
- 使用迁移文件来迁移数据库:
python manage.py migrate myapp
- 检查模型并相应地自动添加、删除或修改数据库表:
python manage.py schemamigration myapp --auto
迁移成功。