1.不需要原有的数据库数据
- 删除数据库所有的表
- 删除项目的migration模块中的所有 文件,除了__init__.py 文件
-
执行命令
1 python manage.py makemigrations 应用名
2 python manage.py migrate 应用名
2. 不删除现有的数据,生成 新的migration 文件,迁移模型类
- 先将应用模型类恢复到没有修改之前的状态
- 查看迁移情况
# 查看当前应用已经执行生效的迁移文件
python manage.py showmigrations 应用名
执行结果:
应用名
[X] 0001_initial
[x] 0002_add_model
3. 重置应用迁移文件
-
- 执行
1 #
2 python manage.py migrate --fake 应用名 zero
3
4 # 查看迁移
5 python manage.py showmigrations 应用名
6
7 执行结果
8 [] 0001_initial
9 [] 0002_add_model
*前边的X没有了
-
- 删除app migrations下除init.py之外的所有文件
- 删除数据库migrations表中该应用的所有迁移记录
- 执行
python manage.py makemigrations 应用名
会再次生成0001_initial.py 之类的文件
-
- 执行(这一步很关键)
1 python manage.py migrate 应用名 --fake-initial
2
3 '''
4 --fake-inital 会在数据库migrations表中记录当前这个app 执行到 0001_initial.py ,但不会去执行迁移文件。
5 '''
4. 修改应用模型类,并执行迁移命令
1 python manage.py makemigrations 应用名
2 python manage.py migrate 应用名