终于到了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相关推荐

  1. flask第十八篇——模板【2】

    请关注公众号:自动化测试实战 上一节我们介绍了模板的基本使用方法,现在我们想一个问题,如果把index.html放到template文件夹下面的文件夹该怎么办呢?其实很容易,当文件夹结构如下图所示时: ...

  2. 2021年安全生产工作总结及2022年思路计划(二十八篇)PPTX(附下载)

    摘要:2021年安全生产工作总结及2022年思路计划(二十八篇) 公众号:安全生产星球

  3. 实习日志_实习律师实习日志第十八篇(连载30篇)

    提供实习律师实习日记相关的文章资讯,希望我的分享能让您感到满意! 这个月接触最多的是人身损害赔偿的一些案件,交通事故.工伤的一些案件最多.起初,以为这些案件就是走走法律流程便可了事,最简单不过,可当完 ...

  4. Flask最强攻略 - 跟DragonFire学Flask - 第十五篇 Flask-Script

    其实本章就是为下一章做的铺垫啦,但是也要认真学习哦 Flask-Script 从字面意思上来看就是 Flask 的脚本 是的,熟悉Django的同学是否还记得Django的启动命令呢? python ...

  5. flask第二十四篇——模板【6】自定义过滤器

    请关注孟船长的公众号:自动化测试实战 大家想了解其他过滤器可以参考这里: http://jinja.pocoo.org/docs/dev/templates/#builtin-filters ---- ...

  6. 第六十八篇:从ADAS到自动驾驶(一):自动驾驶发展及分级

    作者:liaojiacai     邮箱: ljc_v2x_adas@foxmail.com 从ADAS到自动驾驶(一):自动驾驶的发展及分级 从今天起,我将根据自己所接触的ADAS和无人驾驶技术,来 ...

  7. “约见”面试官系列之常见面试题之第八十八篇之什么是vue生命周期(建议收藏)

    我们知道vue是一个构建数据驱动的 web 界面的渐进式框架,那么vue生命周期是什么呢?本篇文章就给大家来介绍一下vue生命周期的内容,希望可以帮助到有需要的朋友. vue生命周期是什么? Vue生 ...

  8. 第十八篇,Simulink with Git

    一.综述 本篇以MATLAB R2021b为基础讲解如何对Simulink模型做Git管理,mdl与slx均可. Git并非只能对手写代码做版本管理,它的应用十分广泛,囊括了各种使用编程语言编写的代码 ...

  9. SpringBoot第十八篇: 定时任务(Scheduling Tasks)

    这篇文章将介绍怎么通过spring去做调度任务. 构建工程 创建一个Springboot工程,在它的程序入口加上@EnableScheduling,开启调度任务. @SpringBootApplica ...

  10. 第十八篇:Question Answering问答系统

    目录 介绍 事实问题 非事实问题 为什么我们关注 NLP 中的事实问题? 2 种关键方法 大纲 IR-based QA 基于 IR 的 事实(Factoid) QA:TREC-QA 问题处理 答案类型 ...

最新文章

  1. Nature:肠道菌如何影响大脑,帮助消除恐惧相关的行为
  2. Java指令启动jar
  3. Altium Designer BGA扇出
  4. 初二下册计算机考试试题,2017下半年计算机等级考试二级Java模拟试题及答案(18)...
  5. SAP Hybris Accelerator和SAP Spartacus的比较
  6. mysql2014授权设置_mysql权限管理(2014-09-15)
  7. .NET6之MiniAPI(三):Response
  8. C++之运算符重载(前置++和后置++)
  9. 项目5 BBS博客项目
  10. 22-1图的遍历的源代码
  11. java框架快速使用mysql_阿里java架构师教你怎么用mysql怒怼面试官
  12. C++中volatile的作用
  13. plc编程软件通过计算机,英威腾PLC编程软件(Auto Station)
  14. LED白光测速仪MSE-V508
  15. 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false
  16. 邓俊辉 数据结构 习题4-18 Fermat-Lagrange定理代码实现
  17. zimbra 证书过期--zimbra使用
  18. 阿里技术大神「多隆」的成神之路
  19. 无法写入最后一个_U盘无法正常读写,还能识别还能抢救一下
  20. 二进制部署k8s1.18(下)

热门文章

  1. Atitit 信息处理设备与历史与趋势 目录 1. It设备简史与艾提拉觉得常见重要的设备 2 2. 第一部分 IT萌芽期(约公元前4000年至1945年) 2 2.1. 苏美尔人的象形文字(约公元
  2. Atitit 现代信息检索 Atitit 重要章节 息检索建模 检索评价 第8章 文本分类 Line 210: 第9章 索引和搜索 第11章 Web检索 第13章 结构化文本检索 目录 L
  3. Atitit 软件知识点分类体系 分类 按照书籍的分类 学科分类 体系与基础部分 计算机体系结构 硬件接口技术(usb,agp,pci,div,hdmi) os操作系统 中间件 语言部分
  4. main.cpp first defined here 解决
  5. Flask: wsgi接口
  6. 金融科技助力智慧运营
  7. 金融业大整顿,是要回到十年前的水平吗?
  8. Kafka从上手到实践-Zookeeper CLI:CRUD zNode | 凌云时刻
  9. 致敬SpaceX,奥思数据对象存储航天品质服务航天项目
  10. 【数字信号处理】基于matlab GUI数字信号处理系统【含Matlab源码 1088期】