django之manage.py migrate无效的问题
问题#
已有的model,迁移之后,想重新设置字段,于是将migrations
文件夹中除__init__.py
之外其他文件都删掉,并且把数据库中的表删除,再次执行以下步骤python manage.py makemigrations
确认成功,执行python manage.py migrate
,提示No migrations to apply
.无法对表模型进行更改。
解决方案#
python manage.py dbshell
进到数据库中,执行delete from django_migrations where app='your_appname';
python manage.py makemigrations
python manage.py migrate
好啦,大功告成
扩展#
执行python manage.py migrate
之后,可以使用python manage.py sqlmigrate appname migrations_num
(例如python manage.py sqlmigrate user 0001
)查看当前migrations文件对应的sql语句。
另外,在使用上述命令查看0001文件的sql语句时发现,Django会新建一个表user_new,然后插入user表中的数据,再把user表删掉,再把user_new重命名为user。所以,修改model的时候,不必担心原有数据会丢失。
作者:hkwJsxl
出处:https://www.cnblogs.com/hkwJsxl/p/17610161.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
转载请注明原处
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
2022-08-06 微信小程序地区和location_id对应关系