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 *

相关推荐
m0_748554811 小时前
golang如何实现用户订阅偏好管理_golang用户订阅偏好管理实现总结
jvm·数据库·python
早日退休!!!2 小时前
《数据结构选型指南》笔记
数据结构·数据库·oracle
xcLeigh2 小时前
KES数据库性能优化实战
数据库·sql·性能优化·sql优化·数据性能
阿正呀2 小时前
Redis怎样实现本地缓存的高效失效通知
jvm·数据库·python
yoyo_zzm2 小时前
Laravel9.x新特性全解析
数据库·mysql·nginx
2501_901200533 小时前
mysql如何设置InnoDB引擎参数_优化innodb_buffer_pool
jvm·数据库·python
m0_495496414 小时前
mysql处理复杂SQL性能_InnoDB优化器与MyISAM差异
jvm·数据库·python
forEverPlume4 小时前
PHP怎么使用Eloquent Attribute Composition属性组合_Laravel通过组合构建复杂属性【方法】
jvm·数据库·python
2301_809204705 小时前
mysql在docker容器中如何部署_利用docker-compose快速启动
jvm·数据库·python
虹科网络安全5 小时前
艾体宝产品|深度解读 Redis 8.4 新增功能:原子化 Slot 迁移(上)
数据库·redis·bootstrap