数据库迁移工具Flask-Migrate的介绍及使用

Flask-Migrate是一个用于Flask应用的SQLAlchemy数据库迁移工具,提供命令行接口进行数据库操作。通过`flask db`命令可以查看历史、当前版本,初始化,迁移和升级/降级数据库。当需要更改字段类型,如从string转为bool,可以在`migrations/env.py`中配置Alembic以检查字段类型和默认值。这允许在不丢失数据的情况下安全地更新数据库结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、简介

Flask-Migrate是一个为Flask应用处理SQLAlchemy数据库迁移的扩展,使得可以通过Flask的命令行接口或者Flask-Scripts对数据库进行操作。

2、使用

flask db history 查看历史迁移信息

flask db current 查看当前数据库版本

flask db init 初始化数据库

flask db migrate -m "init_database" 数据库迁移

flask db upgrade 更新数据库至最新版本

flask db upgrade revision_id 更新数据库至某一版本revision_id

flask db downgrade 回退一个版本

flask db downgrade revision_id  回退至某一版本revision_id

3、自动更改表字段类型、字段长度

最近在开发过程中遇到了需要将string类型转换成bool类型的问题,但是一开始设计表是设计成了string类型,因此记录下flask-migrate更改表字段类型的方式。

alembic支持检测字段长度改变,不过它不是默认的,需要配置;
找到migrations/env.py文件,在run_migrations_online函数加入如下内容:

context.configure(
      …………
      compare_type=True,  # 检查字段类型
      compare_server_default=True # 比较默认值
      )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值