关于django-mysql删除与创建表
有时在迁移models.py后需要重新改正数据库中的属性,在删除表之后发现即使迁移成功依然没有映射到新的表中。
这里提供经验分享
mysql端:
在mysql终端中执行一下语句:
show databases;
这一步看见所有的数据库,而后根据所选用的数据库删除表。执行下列语句进入数据库查看数据库中的表并删除选择表。
use my_db
show tables;
drop table pupil;
(这个表我已将所要删除的pupil表删除了。)
执行完上述语句后pupil表已删除,在迁移的时候会有记录留存,需要删除django_migrations中的记录来实现django映射。
执行以下语句查看djanog_migrations中的数据。
select * from django_migrations;
而后删除最后一条关于项目subject_choose的记录数据即可。执行下列语句。
delete from django_migrations where id = 25;
至此mysql端的处理已经结束,现在需要对python端执行下述操作:
这里手动删除migrations文件夹下除了__init__.py中的所有迁移文件。
而后执行以下命令:
python manage.py makemigrations
python manage.py migrate
重新创建成功后可以查看表了。命令同上述sql端。
可以发现pupil表重新创建成功了