python(flask-migrate)

编程入门 行业动态 更新时间:2024-10-25 02:20:57

<a href=https://www.elefans.com/category/jswz/34/1770869.html style=python(flask-migrate)"/>

python(flask-migrate)

flask-migrate简介

1. 什么是Flask-Migrate?

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

2. 为什么需要Flask-Migrate?

当需要修改数据库中的表结构时(添加一列数据),由于表的结构在创建时就已经定义好了,如果强行将表删除再新建表的话,原有数据就会丢失,所以想要直接通过代码来修改表结构会出现问题。为了解决这一问题,Flask-Migrate能够通过Flask-Scripts提供的命令对数据库中的表结构进行扩展

3. 如何安装Flask-Migrate?

在当前的虚拟环境中:

pip install flask-migrate

4. 如何配置?

app = Flask(__name__)app.config.from_envvar('config.py')
db = SQLAlchemy(app) 
# 实例化Migrate对象,并将app和db对象传入Migrate对象中
migrate = Migrate(app, db)manager = Manager(app)
# 添加关于数据库迁移操作的命令
manager.add_command('db', MigrateCommand)

5. 如何使用?

  • 1). 创建迁移仓库(migrations目录)
# 在开始对数据库操作之前需要创建迁移仓库
# 该操作只需执行一次即可
python script.py  db init
  • 2). 读取类的内容, 生成版本文件, 并没有真正在数据库中添加或删除;
# 生成的版本文件存放在migrations/versions目录中
# 创建的版本文件类似于sqlalchemy和mysql语句之间的另一种语言
python  script.py  db migrate -m "版本名后缀"
  • 3). 在数据库中增删改, 也就是将迁移应用于数据库;
# 此时数据库中的表结构真正的修改完成
python script.py  db upgrade
  • 4). 检测是否成功?
mysql -uroot -pwestos
  • 5). 去查看改变的历史状态;
python script.py  db history
  • 6). 返回指定的版本状态;降级数据库,不指定版本则是最老版本

注意:当数据库处于降级版本时,不能够创建新的版本,必须从当前升级到最新版本后才能创建新版本

python script.py  db downgrade  base
  • 7). 显示当前版本
python data_migrate.py db current
  • 8). 升级版本,不指定版本为最新版本
python data_migrate.py db upgrade 版本号
  • 9). 帮助,查找所有命令
python data_migrate.py db --help

更多推荐

python(flask-migrate)

本文发布于:2023-07-28 17:39:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1265171.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:python   flask   migrate

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!