在 Python3-Mac OS-django配置MySQL数据库 这个博客中,用到了Django框架的数据迁移功能。

python3 manage.py makemigrations (应用名,选写)
python3 manage.py migrate (应用名,选写)

Django迁移官网的迁移文档

成功迁移后。我想,那如果我把迁移的表手动删除了怎么办?能再次运行 migrate恢复么?我觉得试一下。我的目录下已经生成的数据迁移的文件了,所以不需要再执行 makemigrations命令生成了。我的数据库中也已经有表了

Python3-Mac OS Django数据迁移的几个问题

数据库有表了:
Python3-Mac OS Django数据迁移的几个问题

 

 我这个时候把user表删除了。再执行 python3 manage.py migrate 命令,看能不能重新把user表生成了。

Python3-Mac OS Django数据迁移的几个问题

 

经过测试,发现user表没有生成。好难受!!!那怎么办?

办法一:打开django_migrations表,把id=1的这条记录删除了。为什么要删除这条记录呢,因为App是我django项目的应用的名称。这个也是数据迁移文件生成的地方。

Python3-Mac OS Django数据迁移的几个问题

 

 删除id=1的这条记录有,再执行 python3 manage.py migrate 这个命令。发现user表出现了。

 

办法二:

1、首先确认你的myql已经添加到环境变量中了,没有的话在Mac的Terminal中运行命令:export PATH=$PATH:/usr/local/mysql/bin  把mysql添加到环境变量中

2、在Mac的Terminal中运行命令:python3 manage.py sqlmigrate App 0001 | python manage.py dbshell  

这样也可以哦!!!其中`App`是我django项目的一个应用的名称 `0001`是数据迁移文件的编号。

 

 参考:

相关文章:

  • 2022-01-06
  • 2021-05-10
  • 2021-04-20
  • 2021-07-30
  • 2022-12-23
  • 2021-08-24
  • 2021-11-10
  • 2022-12-23
猜你喜欢
  • 2021-09-07
  • 2021-11-16
  • 2021-11-01
  • 2022-01-25
  • 2021-11-04
  • 2022-12-23
  • 2021-06-24
相关资源
相似解决方案