Prisma Schema 迁移规划器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/prisma-schema-migrator。
技能介绍
要解决的问题
Prisma 的 schema.prisma 一旦进入生产环境,schema 变更就不再是“改个文件再提交”这么简单。手工维护迁移脚本时,常见的困境包括:忘记记录某次字段调整、迁移顺序错乱、在存在真实数据的库上盲目执行 DDL 导致锁表或数据截断。Prisma Schema Migrator 正是为这类 schema 演进场景准备的——它把迁移规划从“靠记忆和惯例”变成可重复执行的流程。
它如何工作
这个技能围绕 Prisma 官方工具链展开,核心动作包括:
- 迁移规划:基于
prisma migrate的相关命令生成迁移策略,让每一次 schema 变更都被显式记录,而不是散落在 git 历史里; - 变更校验:通过
prisma db pull做 dry-run 式的内省(introspection),在真正落库之前推演目标 schema 与现有数据是否兼容; - 数据保护:重点检查诸如列类型收窄、必填字段新增等可能导致既有行失效的变更,让风险在预览阶段暴露,而不是在生产库上回滚时才发现。
典型流程是:先描述目标 schema,再生成迁移方案,接着用内省结果核对影响范围,最后才执行。
适用边界与注意点
需要留意的是,这类工作高度依赖本地 Prisma CLI 的实际版本与行为,不同版本在 prisma migrate 子命令上存在差异,生成的规划需要人工复核后落地。dry-run 内省能帮你发现类型冲突,但它无法替代对业务侧读写逻辑的检查——比如代码里对某字段的隐式依赖,不在这个技能的覆盖范围内。另外,资料中明确提到了 SQLite 作为数据源场景,对于多表关联复杂、需要事务保证的大型数据库,建议把迁移方案当作“评审起点”,而不是可直接执行的终稿。
使用场景
- 当你需要在生产数据库的现有行上验证是否允许将某列设为必填时,用 dry-run 内省检查变更影响。
- 当数据库 schema 演进而需要规划并记录下一次迁移时,确保变更被显式捕获而非散落在代码库里。
- 当你需要根据 Prisma 项目的实际 schema 变更生成迁移计划,并希望获得可复核的策略而非手工 SQL 时。
- 当你想通过 dry-run 内省在应用变更前确认目标 schema 是否与现有数据兼容时。
适合人员
- 编写 Node.js 或 TypeScript 后端服务、需要持续调整 Prisma schema 并安全发布迁移的后端工程师。
- 维护使用 Prisma ORM 的数据库 schema、需要在引入变更前先核对对现有数据影响的工程师。
- 负责数据库 schema 演进、希望用 prisma migrate 规划并审查迁移的团队成员。