Flask迁移数据库

在Flask应用开发中,更新数据库模型时,Flask-SQLAlchemy不会自动更新已有表。为避免数据丢失,推荐使用数据库迁移框架Alembic,通过Flask-Migrate扩展进行操作。本文介绍了如何创建迁移仓库、编写迁移脚本以及更新数据库的过程。
摘要由CSDN通过智能技术生成

        在开发程序的过程中,你会发现有时需要修改数据库模型,而且修改之后还需要更新数据库。仅当数据库表不存在时, Flask-SQLAlchemy 才会根据模型进行创建。因此,更新表的唯一方式就是先删除旧表,不过这样做会丢失数据库中的所有数据。

      更新表的更好方法是使用数据库迁移框架。源码版本控制工具可以跟踪源码文件的变化,类似地,数据库迁移框架能跟踪数据库模式的变化,然后增量式的把变化应用到数据库中。SQLAlchemy 的主力开发人员编写了一个迁移框架,称为 Alembic( https://alembic.readthedocs.org/en/latest/index.html)。除了直接使用 Alembic 之外, Flask 程序还可使用 Flask-Migrate( http://flask-migrate.readthedocs.org/en/latest/)扩展。这个扩展对 Alembic 做了轻量级包装,并集成到 Flask-Script 中,所有操作都通过 Flask-Script 命令完成。

1 创建迁移仓库
首先,我们要在虚拟环境中安装 Flask-Migrate:


(venv) $ pip install flask-migrate

      这个扩展的初始化方法如下 配置 Flask-Migrate

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值