当前位置: 首页 > news >正文

flask学习笔记之flask-migrate

flask-migrate的作用

从名称migrate就可以理解,主要是数据迁移方面的作用。在flask数据库操作一般引用SQLAlchemy,表初始化的方式一般采用的是db.create_all,这种方式需要对表修改的时候就需要先去数据库中删除该表再才能重新生成新的表结构的表,这样明显是不符合我们的需求的,使用flask-migrate就可以解决这个问题。

安装flask-migrate

pip install flask-migrate
复制代码

引入flask-migrate示例代码

from flask_script import Manager
from app.app import app
from flask_migrate import Migrate, MigrateCommand
from app.exts.db import db
# 这个引用需要注意,你要生成的表需要在这里引入才会生成,否则不会自动生成
from models.models import User

manager = Manager(app)

migrate = Migrate(app, db)

manager.add_command('db', MigrateCommand)

if __name__ == '__main__':
    manager.run()
复制代码

表的初始化和变更

第一次数据库初始化过程需要三个步骤建立模型 -> 创建迁移文件 -> 创建表,分别对应三个命令initmigrateupgrade。以后表的增删改只需要执行后两个步骤即可。可以注意执行每一步对应的变化,init后当前目录下会增加文件夹migrations,但是该文件夹下的versions文件夹应该是空的;执行migrate命令后versions文件夹下会增加内容;upgrade执行完后表将全部创建完毕。具体执行代码如下:

# 建立模型
python manage db init

# 迁移文件
python manage db migrate

# 表
python manage db upgrade
复制代码

转载于:https://juejin.im/post/5b1935355188257d492ae266

相关文章:

  • 项目实战 (规范、轮子、学习案例) - iOS
  • iOS中类、元类、isa详解
  • 生鲜 B2B 平台的产品体系如何迭代(B2B 技术共享第三篇)
  • CentOS7.X安装php-7.x.x
  • 2018年UI设计师的前景如何?长沙牵引力用数据告诉你
  • JS深拷贝总结
  • centos7安装
  • 万万没想到,枯燥的“机器学习”还可以这样学!
  • 被忽略的对象
  • Xtrabackup 使用stream输出并压缩备份
  • 一个UPDATE语句引发的血案
  • 机器学习中为什么要做归一化normalization
  • PermissionScope Swift4 兼容问题
  • mysql快速生成测试数据的方法,以及分页limit语句优化
  • extjs年月选择日历及通用js同步ajax调用返回json object
  • 收藏网友的 源程序下载网
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • ➹使用webpack配置多页面应用(MPA)
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • download使用浅析
  • Java 内存分配及垃圾回收机制初探
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • js操作时间(持续更新)
  • mockjs让前端开发独立于后端
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • OSS Web直传 (文件图片)
  • Rancher如何对接Ceph-RBD块存储
  • tab.js分享及浏览器兼容性问题汇总
  • TCP拥塞控制
  • vuex 笔记整理
  • Wamp集成环境 添加PHP的新版本
  • 大主子表关联的性能优化方法
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 欢迎参加第二届中国游戏开发者大会
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 1.Ext JS 建立web开发工程
  • Java数据解析之JSON
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ${factoryList }后面有空格不影响
  • (Python第六天)文件处理
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (离散数学)逻辑连接词
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (三)docker:Dockerfile构建容器运行jar包
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)Oracle存储过程编写经验和优化措施
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • ***原理与防范
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET Remoting学习笔记(三)信道
  • .net 按比例显示图片的缩略图