flask-migrate 管理升级迁移数据库

  • A+
所属分类:python

项目创建后,针对表结构更改,可以使用Flask-Migrate来解决。Flask-Migrate插件是基于Alembic,Alembic是由大名鼎鼎的SQLAlchemy作者开发数据迁移工具。

安装

添加Migrate相关的Command

初始化

这里的 init 只需要执行一次,以后的修改都不用执行了。同时,创建一个migrations文件夹,里面存放了所有迁移脚本。

创建迁移脚本

在Alembic,数据库迁移工作由迁移脚本完成。这个脚本有两个函数,分别叫做upgrade()和downgrade()。upgrade()函数实施数据库更改,是迁移的一部分,downgrade()函数则删除它们。通过添加和删除数据库变化的能力,Alembic可以重新配置数据库从历史记录中的任何时间点。

Alembic迁移可以分别使用revision和migrate命令手动或自动创建。手动迁移通过由开发人员使用Alembic的Operations对象指令实现的空upgrade()和downgrade()函数创建迁移框架脚本。另一方面,自动迁移通过寻找模型定义和数据库当前状态间的不同为upgrade()和downgrade()生成代码。

更新数据库

一旦迁移脚本被审查且接受,就可以使用db upgrade命令更新到数据库中:

Flask-Migrate 介绍参见: https://flask-migrate.readthedocs.io/en/latest/

weinxin
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
默北

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: