Flask第十八篇 Flask-Migrate
终于到了Flask-Migrate,之前在学习Flask-SQLAlchemy的时候,有的同学就提过类似的问题,Flask支持 makemigration / migrate 吗?
答案在这里该诉你,如果你同时拥有两个三方组件 Flask-Script 和 Flask-Migrate 那么就支持这样的动作
首先你要有几个准备工作
第十七章的知识回顾
第十七章的项目下载
1.安装 Flask-Migrate
pip install Flask-Migrate
2.将 Flask-Migrate 加入到 Flask 项目中 - PS: 注意了 Flask-Migrate 是要依赖 Flask-Script 组件的
import MyApp # 导入 Flask-Script 中的 Manager from flask_script import Manager# 导入 Flask-Migrate 中的 Migrate 和 MigrateCommand # 这两个东西说白了就是想在 Flask-Script 中添加几个命令和指令而已 from flask_migrate import Migrate,MigrateCommandapp = MyApp.create_app() # 让app支持 Manager manager = Manager(app) # type:Manager# Migrate 既然是数据库迁移,那么就得告诉他数据库在哪里 # 并且告诉他要支持那个app Migrate(app,MyApp.db) # 现在就要告诉manager 有新的指令了,这个新指令在MigrateCommand 中存着呢 manager.add_command("db",MigrateCommand) # 当你的命令中出现 db 指令,则去MigrateCommand中寻找对应关系 """ 数据库迁移指令: python manager.py db init python manager.py db migrate # Django中的 makemigration python manager.py db upgrade # Django中的 migrate """ @manager.command def DragonFire(arg):print(arg)@manager.option("-n","--name",dest="name") @manager.option("-s","--say",dest="say") def talk(name,say):print(f"{name}你可真{say}")if __name__ == '__main__':#app.run()# 替换原有的app.run(),然后大功告成了manager.run()MyApp/manager.py
View Code
3.执行数据库初始化指令
python manager.py db init
此时你会发现你的项目目录中出现了一个好玩儿的东西
接下来的操作就和Django中一样了,在这里就不做演示了
转载于:https://www.cnblogs.com/xintiao-/p/10446924.html
Flask第十八篇 Flask-Migrate相关推荐
- flask第十八篇——模板【2】
请关注公众号:自动化测试实战 上一节我们介绍了模板的基本使用方法,现在我们想一个问题,如果把index.html放到template文件夹下面的文件夹该怎么办呢?其实很容易,当文件夹结构如下图所示时: ...
- 2021年安全生产工作总结及2022年思路计划(二十八篇)PPTX(附下载)
摘要:2021年安全生产工作总结及2022年思路计划(二十八篇) 公众号:安全生产星球
- 实习日志_实习律师实习日志第十八篇(连载30篇)
提供实习律师实习日记相关的文章资讯,希望我的分享能让您感到满意! 这个月接触最多的是人身损害赔偿的一些案件,交通事故.工伤的一些案件最多.起初,以为这些案件就是走走法律流程便可了事,最简单不过,可当完 ...
- Flask最强攻略 - 跟DragonFire学Flask - 第十五篇 Flask-Script
其实本章就是为下一章做的铺垫啦,但是也要认真学习哦 Flask-Script 从字面意思上来看就是 Flask 的脚本 是的,熟悉Django的同学是否还记得Django的启动命令呢? python ...
- flask第二十四篇——模板【6】自定义过滤器
请关注孟船长的公众号:自动化测试实战 大家想了解其他过滤器可以参考这里: http://jinja.pocoo.org/docs/dev/templates/#builtin-filters ---- ...
- 第六十八篇:从ADAS到自动驾驶(一):自动驾驶发展及分级
作者:liaojiacai 邮箱: ljc_v2x_adas@foxmail.com 从ADAS到自动驾驶(一):自动驾驶的发展及分级 从今天起,我将根据自己所接触的ADAS和无人驾驶技术,来 ...
- “约见”面试官系列之常见面试题之第八十八篇之什么是vue生命周期(建议收藏)
我们知道vue是一个构建数据驱动的 web 界面的渐进式框架,那么vue生命周期是什么呢?本篇文章就给大家来介绍一下vue生命周期的内容,希望可以帮助到有需要的朋友. vue生命周期是什么? Vue生 ...
- 第十八篇,Simulink with Git
一.综述 本篇以MATLAB R2021b为基础讲解如何对Simulink模型做Git管理,mdl与slx均可. Git并非只能对手写代码做版本管理,它的应用十分广泛,囊括了各种使用编程语言编写的代码 ...
- SpringBoot第十八篇: 定时任务(Scheduling Tasks)
这篇文章将介绍怎么通过spring去做调度任务. 构建工程 创建一个Springboot工程,在它的程序入口加上@EnableScheduling,开启调度任务. @SpringBootApplica ...
- 第十八篇:Question Answering问答系统
目录 介绍 事实问题 非事实问题 为什么我们关注 NLP 中的事实问题? 2 种关键方法 大纲 IR-based QA 基于 IR 的 事实(Factoid) QA:TREC-QA 问题处理 答案类型 ...
最新文章
- Nature:肠道菌如何影响大脑,帮助消除恐惧相关的行为
- Java指令启动jar
- Altium Designer BGA扇出
- 初二下册计算机考试试题,2017下半年计算机等级考试二级Java模拟试题及答案(18)...
- SAP Hybris Accelerator和SAP Spartacus的比较
- mysql2014授权设置_mysql权限管理(2014-09-15)
- .NET6之MiniAPI(三):Response
- C++之运算符重载(前置++和后置++)
- 项目5 BBS博客项目
- 22-1图的遍历的源代码
- java框架快速使用mysql_阿里java架构师教你怎么用mysql怒怼面试官
- C++中volatile的作用
- plc编程软件通过计算机,英威腾PLC编程软件(Auto Station)
- LED白光测速仪MSE-V508
- 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false
- 邓俊辉 数据结构 习题4-18 Fermat-Lagrange定理代码实现
- zimbra 证书过期--zimbra使用
- 阿里技术大神「多隆」的成神之路
- 无法写入最后一个_U盘无法正常读写,还能识别还能抢救一下
- 二进制部署k8s1.18(下)
热门文章
- Atitit 信息处理设备与历史与趋势 目录 1. It设备简史与艾提拉觉得常见重要的设备	2 2. 第一部分 IT萌芽期(约公元前4000年至1945年)	2 2.1. 苏美尔人的象形文字(约公元
- Atitit 现代信息检索 Atitit 重要章节 息检索建模 检索评价 第8章 文本分类 	Line 210: 第9章 索引和搜索 第11章 Web检索 第13章 结构化文本检索 目录 	L
- Atitit 软件知识点分类体系 分类 按照书籍的分类 学科分类 体系与基础部分 计算机体系结构 硬件接口技术(usb,agp,pci,div,hdmi) os操作系统 中间件 语言部分
- main.cpp first defined here 解决
- Flask: wsgi接口
- 金融科技助力智慧运营
- 金融业大整顿,是要回到十年前的水平吗?
- Kafka从上手到实践-Zookeeper CLI:CRUD zNode | 凌云时刻
- 致敬SpaceX,奥思数据对象存储航天品质服务航天项目
- 【数字信号处理】基于matlab GUI数字信号处理系统【含Matlab源码 1088期】