微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flask框架(flask-sqlalchemy操作,Migrate作用,Flask迁移数据库,Flaks同步表数据)

目录

一:flask-sqlalchemy操作

flask-sqlalchemy	: 让flask更好的集成sqlalchemy
flask_migrate		:类似于django的makemigrations和migrate,因为sqlalchemy不支持修改删除增加字段)

1.引入:

1.在开发过程中,需要修改数据库模型,而且还要在修改之后更新数据库。最直接的方式就是删除旧表,但这样会丢失数据。

2.更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化,然后把变动应用到数据库中。

2.Flask-Migrate扩展

1.在Flask中可以使用Flask-Migrate扩展,来实现数据迁移。并且集成到Flask-Script中,所有操作通过命令就能完成。

2.为了导出数据库迁移命令,Flask-Migrate提供了一个MigrateCommand类,可以附加到flask-script的manager对象上。

3.flask-sqlalchemy与slask_migrate作用

flask-sqlalchemy	: 让flask更好的集成sqlalchemy

flask_migrate		:类似于django的makemigrations和migrate,因为sqlalchemy不支持修改删除增加字段)

4.flask-migrate初始化与迁移数据库介绍

python3 manage.py db init 初始化:项目开始只执行一次(生成migrations文件夹)
python3 manage.py db migrate 等同于 makemigartions(models模型层,增删改记录)
python3 manage.py db upgrade 等同于migrate(同步记录到models模型层内)

5.flask-sqlalchemy 操作迁移数据库

# 1.先导入,实例化得到一个对象
from flask_sqlalchemy import sqlAlchemy
# 2.生成db对象
db = sqlAlchemy()
# 3.所有表模型都继承 db.Model
# 4.在视图函数查询那个session对象
db.session

6.导出项目依赖

# 安装:pip3 install pipreqs
#导出:pipreqs  . --encoding=utf8

二:Flask-Migrate的作用

负责表结构同步

db.create_all 方法,同步表结构,create_all方法只能够对新增模型进行同步,如果模型发生修改,不能够同步

flask-migrate可以对发生变更的模型进行同步

(一) 安装插件

pip  install flask-migrate

(二)使用

1、实例化

img

实例化步骤

2、添加命令

img

添加migrate命令

(三) 同步表结构

1、init 初始化,只需执行一次

img

初始号操作

2、migrate--将模型的变更生成迁移文件

img

生成迁移文件

3、upgrade

执行生成文件,同步到表结构中

 python main.py db upgrade

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐