SuperAPI AI 工具集

prisma-upgrade-v7-removed-features

通用与其它

查看项目

更新于 10-16 06:18

技能介绍

用途:这份参考用于把 Prisma 项目从旧版本升级到 v7,处理已移除功能与行为变更的迁移。

主要能力与迁移要点:

  1. 客户端中间件($use)在 v7 移除,改用客户端扩展 $extends,在 query 的 $allModels.$allOperations 中包裹 query(args) 实现计时、日志等逻辑;软删除可针对具体模型重写 delete 为 update 写入 deletedAt,并在 findMany 中过滤已删除记录。
  2. Metrics 预览功能移除,prisma.$metrics.json() 不再可用;可用扩展维护自定义计数器(如 $totalQueries),或使用底层驱动适配器提供的指标。
  3. CLI 参数移除:migrate dev 与 db push 的 --skip-generate 取消,因为 generate 不再自动运行,需要时显式执行 prisma migrate dev 后再 prisma generate;migrate dev 与 migrate reset 的 --skip-seed 取消,seed 不再自动运行,需要时执行 prisma db seed。
  4. db execute 的 --schema 与 --url 移除,数据库连接改在 prisma.config.ts 配置,命令简化为 prisma db execute --file ./script.sql。
  5. migrate diff 选项更名:--from-url 改为 --from-config-datasource,--to-url 改为 --to-config-datasource,--from-schema-datasource 与 --to-schema-datasource 同样改为 config 数据源形式,--shadow-database-url 改为在 prisma.config.ts 配置。
  6. 自动行为移除:migrate 后不再自动 generate、不再自动 seed,需按上述显式命令执行。
  7. rejectOnNotFound 已在 v5.0.0 移除,改用 findUniqueOrThrow、findFirstOrThrow 等方法。

使用方式:按上述对照逐项替换旧写法,并在命令流程中显式加入 generate 与 seed 步骤。

限制:资料仅覆盖上述已移除功能与迁移方式,未提供版本支持范围、配置示例细节或兼容性说明,相关内容暂未提供。