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

从Prisma迁移至Drizzle:如何标记迁移为已完成?

解决Drizzle标记初始introspect迁移为已完成的问题

因为你是从现有数据库introspect生成的迁移,本质上这些表已经存在,确实不需要执行这份迁移。可以通过以下步骤直接标记它为已完成:

  • 手动写入迁移记录到__drizzle_migrations表
    找到你生成的迁移文件(比如文件名是20240520123456_initial_introspect.ts):

    1. 提取文件名里的时间戳部分作为id(示例里就是20240520123456)
    2. 找到文件里的export const hash = "xxx"行,复制对应的哈希值
    3. 执行这条SQL语句(可以直接在数据库客户端运行,也通过Drizzle的db.execute执行):
      INSERT INTO __drizzle_migrations (id, hash, created_at)
      VALUES ('你的迁移id', '迁移文件里的哈希值', NOW());
      
  • 可选:清理无用迁移文件
    把这份不需要执行的迁移文件从drizzle/migrations目录删除,避免后续执行migrate时产生混淆。

  • 验证结果
    运行drizzle-kit migrate命令,此时应该会提示没有待执行的迁移,说明标记成功。

注意:必须保证插入的id和哈希值与迁移文件完全匹配,否则Drizzle仍会认为这是未执行的迁移。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 21:33:10