Django开发—如何重置migration
情景一:不需要原有的数据库数据
删除数据库所有的表
删除项目的migration模块中的所有 文件,除了init.py 文件
执行脚本
python3 manage.py makemigrations
python3 manage.py migrate
情景2:不想要删除现有的数据库,只是想重新建立 migration 文件
首先要保证,目前的migration文件和数据库是同步的,通过执行
python3 manage.py makemigrations
如果看到 这样的提示: No changes detected,则可以继续接下来的步骤
- 通过执行
python3 manage.py showmigrations
结果,可以看到当前项目,所有的app及对应的已经生效的migration文件如
git_hook
[X] 0001_initial
guardian
[X] 0001_initial
kombu_transport_django
[X] 0001_initial
message
(no migrations)
order
[X] 0001_initial
pay
[X] 0001_initial
[x] 0002_add_model
sessions
[X] 0001_initial
- 通过执行
$ python3 manage.py migrate –fake pay zero
这里的 pay就是你要重置的app
之后再执行 python manage.pu showmigrations,你会发现 文件前的 [x] 变成了[ ]
- 现在,删除pay 这个 app下的migrations模块中 除 init.py 之外的所有文件。
- 通过执行
$ python3 manage.py makemigrations
程序会再次为这个app 生成 0001_initial.py 之类的文件
- 通过执行
python3 manage.py migrate –fake-initial
–fake-initial 会在数据库中的 migrations表中记录当前这个app 执行到 0001_initial.py ,但是它不会真的执行该文件中的 代码。
这样就做到了,既不对现有的数据库改动,而又可以重置 migraion 文件,妈妈再也不用在 migration模块中看到一推文件了。
- 特别补充,查看相关步骤的sql语句:
python3 manage.py sqlmigrate appname 0001
转载于:https://www.cnblogs.com/floodwater/p/9988786.html
Django开发—如何重置migration相关推荐
- 《Django开发教程》1.2 在ubuntu上安装Django
Daozy极限编程出品 第一步:确认已经安装python3和pip % python3 Python 3.9.12 (main, Mar 26 2022, 15:51:13) [Clang 12.0. ...
- 用django开发一个报修系统
基于django开发了一个报修系统 实现功能 环境 前期准备 创建项目 网页开发 页面开发 api开发 添加报修记录 重头戏 报修记录的显示 回顾 项目地址 完结撒花 实现功能 以下功能建立在原生HT ...
- 【Django 开发】面试招聘信息网站(用户登录注册投在线递简历)
该文章收录专栏 -Django从(图文并茂轻松上手教程)专栏-!! ??内容: [Djang | 增删改查]学生系统案例 [Django | 项目搭建]快速搭建自己的项目 [Django | alla ...
- 使用Python Django开发web应用4 模型和数据库
版本声明:转载请注明出处.未经允许,禁止商业用途. 使用Python Django开发web应用 模型和数据库 ----刘一凡 数据库配置 Django支持很多数据库,官方支持PostgreSQL. ...
- 《Django开发教程》2.2 Django模型
1.安装Mongodb Ubuntu下安装 docker mongo // 先安装docker,如果没有的话 # snap install docker # docker pull mongo:lat ...
- django第三方模块重置密码
为大家介绍一个django开发的利器,重置密码模块:django-password-reset 使用起来非常方便,但网上的相关资料很少,本人第一次使用,遇到了坑很深,所以特意和大家共享一下. 用dja ...
- Django开发实战
Django开发流程 参考 https://www.cnblogs.com/fwl8888/p/9345573.html 首先说明的是项目中要包含这几个文件 CHANGELOG.md 用来记录项目的变 ...
- Django 开发中的最佳实践之一
为什么80%的码农都做不了架构师?>>> Django 开发中的最佳实践之一 本文关注 Django 开发中调试的部分. 出自 Flask 项目旗下的 Werkzeug deb ...
- 单选选择才可以提交_第二篇:DJANGO开发产品选择表amp;调查问卷
锅大虾:第一篇:DJANGO开发产品选择表&调查问卷zhuanlan.zhihu.com 三.调查问卷部分 前端实现效果:首页 首页效果图 需求: 1.单项.多项选择,并且随意增加" ...
最新文章
- php扩展包启动,Composer 扩展开发:本地运行扩展包
- 解决incorrect 'only available in ES6' warning (W119) with options `moz: true, esversion: 6` 报错问题...
- IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)...
- Openresty (nginx + lua)
- 使用Spring特性优雅书写业务代码
- 树的计数(prufer序列 或 purfer序列)
- 移植PPP2.4.5到ARM上实现拨号
- [Leetcode]字符串转换整数 (ATOI)
- idea打字光标不跟随解决
- EasyWeChat生成小程序码
- 2021-02-06
- SQL注入原理及联合查询
- 教师节我用Python做了个学生点名系统送给老师当礼物,这回毕业稳了
- 树莓派连接HC-SR501人体红外感应模块和蜂鸣器模块
- STC15 串口一 接收 发送 基本程序
- 拼图java 源代码,Java语言实现拼图游戏源代码
- vs2017+cuda10.2+opencv4.5.0+contrib编译
- B站:你阳了和我裁员有什么关系
- Linux中hadoop下载安装及环境配置
- n维椭球体积公式_【三分钟知识点】初中物理公式大全,赶快收藏!
热门文章
- $.ligerdialog.open中确定按钮加事件_彻底搞懂JavaScript中的this指向问题
- c++ 输出二进制_Python之输入输出(input_output)
- laravel修改storage目录和bootstrap目录
- java 010_Java笔记-day010-[String类]
- iview template模式_使用Iview Menu 导航菜单(非 template/render 模式)
- mysql basedal_spring与MyBatis结合
- IOS开发入门环境搭建输出helloworld
- Mac安装code blocks以及解无法打开的问题
- 2021下半年软考分数线会有变动吗?
- 鸿蒙开发-使用fetch发起网络请求