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.env]No 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 *

相关推荐
pccai-vip29 分钟前
系分论文《论非关系型数据库(NoSQL)在社交媒体内容管理系统中的应用》
数据库·nosql·媒体
谱写秋天32 分钟前
软考-系统架构设计师 NoSQL数据库详细讲解
数据库·系统架构·软考架构师
观望过往35 分钟前
非关系型数据库(NoSQL):特性、类型与应用指南
数据库·nosql
橄榄熊37 分钟前
Docker MySQL 使用全流程
mysql·docker·容器
阿巴~阿巴~1 小时前
MySQL复合查询(重点)
服务器·数据库·sql·mysql·ubuntu
闲人编程2 小时前
2025年,如何选择Python Web框架:Django, Flask还是FastAPI?
前端·后端·python·django·flask·fastapi·web
帧栈2 小时前
开发避坑指南(61):Redis持久化失败:RDB快照因磁盘问题无法保存解决方案
数据库·redis·缓存
瀚高PG实验室2 小时前
Navicat导入Excel至瀚高数据库
数据库·excel·瀚高数据库
dreams_dream2 小时前
Django 数据库迁移命令
数据库·python·django
gsfl3 小时前
redis单线程模型
数据库·redis·缓存