重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章给大家介绍使用django怎么删除数据库表后重新同步,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
创新互联建站一直在为企业提供服务,多年的磨炼,使我们在创意设计,全网营销推广到技术研发拥有了开发经验。我们擅长倾听企业需求,挖掘用户对产品需求服务价值,为企业制作有用的创意设计体验。核心团队拥有超过十余年以上行业经验,涵盖创意,策化,开发等专业领域,公司涉及领域有基础互联网服务遂宁联通机房、成都app软件开发公司、手机移动建站、网页设计、网络整合营销。同步命令如下:
python manage.py makemigrations
python manage.py migrate
但是在我输入命令之后报错了:
提示说我新增的字段没有默认值(我对数据库表的修改就是增加了一个字段),然后我去百度,在stackoverflow上找到了答案,在该字段后增加一个默认值即可。但是明显这个答案没有找到我遇到问题的真正原因,因为这样做第一条命令成功执行,但是到第二条时就直接报错。
然后我又去百度,有人建议看一下框架自动生成的initial文件,该文件在当前app下的migrations目录下,打开后发现该文件内容和原表对应,也就是并没有更新,问题可能就在这了。于是我按照建议删除了这个文件重新生成。
删除文件之后重新执行命令,这次确实生成了新的initial文件,内容也已经更新,但是执行第二条命令时还是出了问题,查看数据库,空空如也,没有产生新表。崩溃。
然后又去百度,找相关问题看,看到另外一条命令:
python manage.py sqlmigrate your_app_name 0001
把your_app_name换成自己的app名字即可看到框架自动生成的创建表sql语句,于是我就这样看到了sql语句。我直接在数据库中执行了该句sql命令手动创建了表,再启动应用,可以正常启动,问题解决。
关于使用django怎么删除数据库表后重新同步就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。