Flask使用MySQL数据库通过Flask-SQLAlchemy 迁移数据库,实际更新文件,但是提示没有检测到数据更新。

本地写了一个model的用户类,数据库连接信息正确,执行下面2条命令进行数据库迁移。

flask db migrate 生成迁移文件

flask db upgrade 执行迁移文件的升级

发现执行完后:提示没有检测到数据的更新

PS C:\Users\mu>flask db migrate

INFO alembic.runtime.migration Context impl MySQLImpl.

INFO alembic.runtime.migration Will assume non-transactional DDL.

INFO alembic.envNo changes in schema detected.

PS C:\Users\mu> flask db upgrade

INFO alembic.runtime.migration Context impl MySQLImpl.

INFO alembic.runtime.migration Will assume non-transactional DDL.

项目目录结构:

MU

app.py

app/

models

auto_model.py

migrations/

很郁闷,为什么执行生成迁移文件后,提示没有数据更新。

最后找了很多的相关材料找到了解决方法,是因为Alembic没有获得模型的信息,导致无法比较差异。

解决方法

需要在migrations/env.py中导入相关的模型,让Alembic能够获取到模型的元数据。

比如我的项目目录结构是:

MU

app.py

app/

models

auto_model.py

migrations/

那么需要再migrations/env.py中添加导入模型命令

from app.models.auto_model import *

相关推荐
lambo mercy7 小时前
AI智能租房助手
数据库
浮生若城8 小时前
MySQL:库与表的操作
数据库·mysql
薛定谔的悦9 小时前
光储充一体机从主控到执行单元的双层架构
数据库·mongodb·架构
数字新视界9 小时前
动环监控信创适配在智能机房管理中的应用价值与未来展望
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
csdn_aspnet9 小时前
Redis 入门:Windows、Mac安装指南
数据库·windows·redis·缓存·mac
山甫aa10 小时前
锁一篇搞定:乐观锁、悲观锁、CAS、数据库锁与分布式锁【从零开始的 Web 后端学习】
java·数据库·分布式·后端·学习·web
Nturmoils21 小时前
集中式与分布式怎么选:从订单读写看 KingbaseES 的架构边界
数据库
xiaomuzuirenzhen21 小时前
大专电子商务从事电商运营分析师需要考证吗?
大数据·数据库
翔云1234561 天前
RocksDB中,客户端每写入一次数据,需要访问几次磁盘
运维·数据库·mysql
DevOpenClub1 天前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考