时间:2021-05-22
起因
同步表的过程中,我手动将数据库中的一个表删除了,此时再去执行命令,发现不能再数据库中新建表了
修改了表结构以后执行python3 manage.py migrate 报错:
No changes detected
所以进数据库把对应的表删除了,想着重新生成这张表.
删除表以后执行:
python3 manage.py makemigrations
python3 manage.py migrate
还是不能生成表,提示:No changes detected
处理过程
一、首先删除了app对应目录下的数据库对应的文件和缓存文件:
$ rm -rf migrations/ __pycache__/
一般可以从本地删除
重新执行:
···$ python3 manage.py makemigrationsNo changes detected /code/django/blogproject~/code/django/blogproject /code/django/blogproject python3 manage.py makemigrations commentsMigrations for ‘comments':comments/migrations/0001_initial.py- Create model Comment /code/django/blogproject~/code/django/blogproject /code/django/blogproject python3 manage.py migrateOperations to perform:Apply all migrations: admin, auth, blog, comments, contenttypes, sessions, usersRunning migrations:No migrations to apply.···二、删除app下面目录migrations下面除了init.py其他的所有文件
三、最后,删除migrations中关于你的app的同步数据数据库记录
delete from django_migrations where app=‘yourappname';
重新执行生成数据库命令:
$ python3 manage.py makemigrations commentsNo changes detected in app 'comments'$~/code/django/blogproject$ python3 manage.py migrate commentsOperations to perform: Apply all migrations: commentsRunning migrations: Applying comments.0001_initial... OK数据表顺利生成.
结论
在执行
python3 manage.py makemigrations
python3 manage.py migrate
操作的时候,不仅会创建0001_initial.py对应的模型脚本,还会创建一个数据库记录创建的模型.如果想重新生成数据库,需要三个地方都做删除.
以上这篇Django 解决新建表删除后无法重新创建等问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在使用SqlServer2008时,在修改一张表的结构保存时,提示“您对无法重新创建的标进行了更改或者启用了“阻止保存要求重新创建表的更改”选项。”,试了几
idea删除模块后重新创建显示该模块已经被注册原因:注册信息没有删除干净解决方案:找到gradle.xml,modules.xml,workspace.xml文
SQLServer2008“阻止保存要求重新创建表的更改”的错误的解决方案是本文我们主要要介绍的内容,情况是这样的:我们在用SQLServer2008建完表后,
删除表不是特别常用,特别是对于存在外键关联的表,删除更得小心。但是在开发过程中,发现Schema设计的有问题而且要删除现有的数据库中所有的表来重新创建也是常有的
启动SQLServer2008ManagementStudio工具菜单----选项----Designers(设计器)----阻止保存要求重新创建表的更改取消勾