FastAPI学习-28 alembic数据迁移报错:Target database is not up to date 报错解决办法

前言

当表结构有变更,数据迁移时,出现报错:Target database is not up to date

遇到的问题

执行迁移命令

alembic revision --autogenerate -m "testv4"

出现如下报错

>alembic revision --autogenerate -m "testv4"
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
ERROR [alembic.util.messaging] Target database is not up to date.
FAILED: Target database is not up to date.

出现报错的原因是数据库里alembic版本与迁移脚本版本不一致导致的报错

解决办法

解决办法,找到testv4前面的版本号,如下红色圈出来部分

找到数据库里面alembic_version表,改成上面一样的版本号即可

之后再执行同步命令

(venv) D:\code\fast_project>alembic revision --autogenerate -m "testv4"
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.autogenerate.compare] Detected removed index 'ix_task_job_next_run_time' on 'task_job'
INFO  [alembic.autogenerate.compare] Detected removed table 'task_job'
INFO  [alembic.autogenerate.compare] Detected type change from TEXT() to LONGTEXT() on 'test_case.test_case'
Generating D:\code\fast_project\alembic\versions\1d6b74d931dd_testv4.py ...  done

(venv) D:\code\fast_project>alembic upgrade head
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade a7f87581d476 -> 1d6b74d931dd, testv4
posted @   上海-悠悠  阅读(613)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2021-01-15 jmeter压测学习46-逻辑控制器之While控制器
2021-01-15 jmeter压测学习45-逻辑控制器之如果(If)控制器
2017-01-15 Selenium2+python自动化28-table定位
点击右上角即可分享
微信分享提示