flask学习笔记之flask-migrate

Flask-Migrate 是一个用于 Flask 应用的数据迁移工具,它简化了使用 SQLAlchemy 进行数据库更新的过程。通过该工具,开发者可以在不破坏现有数据的情况下升级数据库结构。

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

flask-migrate的作用

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

安装flask-migrate

pip install flask-migrate
复制代码

引入flask-migrate示例代码

from flask_script import Manager
from app.app import app
from flask_migrate import Migrate, MigrateCommand
from app.exts.db import db
# 这个引用需要注意,你要生成的表需要在这里引入才会生成,否则不会自动生成
from models.models import User

manager = 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
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值