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

如何在生产环境永久删除失败的Prisma迁移,解决部署同步问题?

彻底清理生产环境Prisma迁移记录的步骤

当你本地删除Prisma迁移文件并重置了本地迁移表,但生产环境的_prisma_migrations表仍残留已删除的迁移记录时,就会导致部署时提示找不到对应迁移文件的错误。按以下步骤彻底清理生产环境的残留记录:

  • 连接到生产数据库
    用Fly命令进入应用的SSH控制台:

    flyctl ssh console -a <你的应用名称>
    

    如果是PostgreSQL数据库,接着进入数据库交互界面:

    psql -U <数据库用户名> <数据库名称>
    

    (其他数据库请用对应客户端命令连接)

  • 定位残留的迁移记录
    查询_prisma_migrations表,找到你已删除的那条迁移记录:

    SELECT id, name, applied_at FROM _prisma_migrations;
    

    从结果里匹配本地已删除的迁移文件名,记下对应的name或id。

  • 删除残留记录
    执行SQL删除这条记录(用id更精准):

    DELETE FROM _prisma_migrations WHERE id = '<迁移记录的ID>';
    

    也可以用文件名匹配删除:

    DELETE FROM _prisma_migrations WHERE name = '<已删除的迁移文件名>';
    
  • 验证并重新部署
    再次查询确认记录已删除:

    SELECT * FROM _prisma_migrations;
    

    之后重新推送代码触发GitHub Actions部署,或手动执行Fly部署命令:

    flyctl deploy --remote-only
    

重要提醒

  • 操作生产数据库前必须先备份,避免误操作导致数据丢失。
  • 确保本地prisma/migrations文件夹的迁移文件,和生产库_prisma_migrations表的记录完全一致,防止后续再次出现迁移不匹配问题。
  • 团队协作场景下,要同步所有成员的本地迁移状态,避免有人保留旧迁移文件引发冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 16:20:43