博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flask学习笔记之flask-migrate
阅读量:7115 次
发布时间:2019-06-28

本文共 945 字,大约阅读时间需要 3 分钟。

flask-migrate的作用

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

安装flask-migrate

pip install flask-migrate复制代码

引入flask-migrate示例代码

from flask_script import Managerfrom app.app import appfrom flask_migrate import Migrate, MigrateCommandfrom app.exts.db import db# 这个引用需要注意,你要生成的表需要在这里引入才会生成,否则不会自动生成from models.models import Usermanager = 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

你可能感兴趣的文章
python大战机器学习——半监督学习
查看>>
ethereum/EIPs-1271 smart contract
查看>>
ADempiere3.6.0LTS - 重新导入会计科目(基于Ubuntu Desktop 12.04 LTS)
查看>>
Project Euler Problem 48: Self powers
查看>>
python一个小程序:猜数字
查看>>
转:web.xml 配置中classpath: 与classpath*:的区别
查看>>
vue-自定义组件传
查看>>
由用户反映DroidPilot安装之后,License没有同步安装 - 解决办法
查看>>
java发展史与java的语言特性
查看>>
trunk端口配置错误导致环路
查看>>
《坟·题记》
查看>>
小女也爱c#(1)
查看>>
洛谷P4070 生成魔咒
查看>>
linux下挂载NTFS分区错误修复
查看>>
是C太傻逼?还是C++不够傻逼;
查看>>
Anaconda使用总结
查看>>
JAVA基础◆浅谈3DES加密解密
查看>>
mysql 优化
查看>>
POJ1065/HDOJ1051 Wooden Sticks
查看>>
bui前端框架+yii整理
查看>>