使用Flask-SQLAlchemy管理数据库

*注:后半部分介绍使用Flask_migrate实现数据库迁移

1、安装Flask-SQLAlchemy

在pycharm命令行使用pip命令安装Flask-SQLAlchemy。


图1

2、配置数据库

在flask_sql.py文件里配置数据库。

图2 配置数据库

3、定义数据库模型并确定关联关系

以Role表和User表为例,确定两个表之间的对应关系(一对一,一对多,多对一),定义表的时候要加入对应的主外键关系,在这里,Role和User表为一对多的关系。

图3    定义 Role 和 User 模型

4、集成Python Shell

为了避免每次启动shell对话都要进行导入数据库实例和模型,我们可以做些配置,让 flask shell 命令自动导入这些对象。

图4 添加一个shell上下文

5、创建迁移数据库

首先,要在虚拟环境中安装 Flask-Migrate:


图6 

在flask_sql.py文件中导入:


图7

为了开放数据库迁移相关的命令,Flask-Migrate 添加了 flask db 命令和几个子命令。在新项目中可以使用 init 子命令添加数据库迁移支持:(init 执行一次就可以)

图8

6、创建迁移脚本

在 Alembic 中,数据库迁移用迁移脚本表示。脚本中有两个函数,分别是 upgrade() 和 downgrade()。upgrade() 函数把迁移中的改动应用到数据库中,downgrade() 函数则将改动删除。Alembic 具有添加和删除改动的能力,意味着数据库可重设到修改历史的任意一点。

使用 Flask-Migrate 管理数据库模式变化的步骤如下。

(1) 对模型类做必要的修改。

(2) 执行 flask db migrate 命令,自动创建一个迁移脚本。

(3) 检查自动生成的脚本,根据对模型的实际改动进行调整。

(4) 把迁移脚本纳入版本控制。

(5) 执行 flask db upgrade 命令,把迁移应用到数据库中。

flask db migrate 子命令用于自动创建迁移脚本:


图9

-m '文件名'   *注:为了便于区分迁移脚本 ,建议每次起有意义的名字。

7、更新数据库

检查并修正好迁移脚本之后,执行 flask db upgrade 命令,把迁移应用到数据库中,这时数据库中才有表。

图10

8、更新修改

给User表增加一列age属性,接着执行6、7操作,则修改完成(删除暂时有问题)

图11

9、利用命令行操作插入列


图12


图13

别忘了commit()


图14

修改行


图15

删除行


图16
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容