You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何完全重置损坏的Flask-SQLAlchemy SQLite数据库及Flask-Migrate版本记录

Flask-Migrate 数据库与迁移记录规范重置方案

当你在开发阶段中途修改模型导致迁移流程异常、SQLite 数据库实例损坏时,可以按照以下规范步骤完成完全重置,相比手动零散删除文件更可控,不会残留无效记录:

操作步骤

  • 第一步:停止所有运行中的 Flask 应用进程,避免 SQLite 被占用导致文件删除/修改失败
  • 第二步:删除损坏的 SQLite 数据库文件,默认通常为app.db,连带同目录下的.db-wal、.db-shm临时缓存文件也一并删除
  • 第三步:清理历史迁移记录
    • 如果你没有手动修改过迁移脚本的自定义逻辑,可以直接删除整个migrations目录
    • 如果你保留了迁移脚本中的自定义修改,仅删除migrations/versions目录下的所有.py迁移版本文件即可
  • 第四步:(仅当你删除了整个migrations目录时执行)重新初始化迁移环境:flask db init
  • 第五步:基于当前最新的模型代码生成全新的初始迁移脚本:flask db migrate -m "initial migration"
  • 第六步:执行迁移生成干净的新数据库:flask db upgrade

额外优化提示

如果只是迁移版本记录和数据库实际状态不同步,不需要删库重置的场景,可以直接执行flask db stamp head命令,将当前数据库的版本标记为最新迁移版本,无需执行升级操作即可解决版本不匹配问题。

注意:这套方案仅适用于本地开发测试环境,生产环境操作前必须先完成全量数据备份,禁止直接执行重置操作。

内容的提问来源于stack exchange,提问作者EasY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 19:45:06