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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源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定位