Prisma Migrate Guard
Use this skill before deploys or CI release steps to verify Prisma migrations are healthy and ready to apply.
What this skill does
- - Verifies required Prisma CLI/runtime tools are available
- Validates migration DB URL inputs (
DATABASE_URL by default) - Runs
prisma migrate status against a target schema - Fails on common dangerous states:
- failed migrations
- migration drift warnings
- unapplied migration files
- missing migration history table hints
- - Exits non-zero for CI/deploy gating
Inputs
-
PRISMA_SCHEMA_PATH (default:
prisma/schema.prisma)
-
PRISMA_MIGRATE_DB_URL_ENV (default:
DATABASE_URL)
-
PRISMA_MIGRATE_GUARD_ALLOW_UNAPPLIED (
1 to warn instead of fail)
-
PRISMA_MIGRATE_GUARD_ALLOW_DRIFT (
1 to warn instead of fail)
Run
CODEBLOCK0
With explicit schema and env key:
CODEBLOCK1
Output contract
- - Prints a concise PASS/FAIL report
- Exit code
0 on healthy status - Exit code
1 on blocking migration issues
Notes
- - This guard is read-only (
migrate status), it does not apply migrations. - Keep it in CI before deploy or startup migration steps.
Prisma 迁移守卫
在部署或CI发布步骤前使用此技能,验证Prisma迁移是否健康且可应用。
此技能的功能
- - 验证所需的Prisma CLI/运行时工具是否可用
- 验证迁移数据库URL输入(默认为DATABASE_URL)
- 针对目标schema运行prisma migrate status
- 在常见危险状态下失败:
- 迁移失败
- 迁移漂移警告
- 未应用的迁移文件
- 缺失迁移历史表提示
输入
- PRISMA
SCHEMAPATH(默认:prisma/schema.prisma)
- PRISMA
MIGRATEDB
URLENV(默认:DATABASE_URL)
- PRISMA
MIGRATEGUARD
ALLOWUNAPPLIED(设为1则发出警告而非失败)
- PRISMA
MIGRATEGUARD
ALLOWDRIFT(设为1则发出警告而非失败)
运行
bash
bash scripts/check-prisma-migrate.sh
使用显式schema和环境变量键:
bash
PRISMASCHEMAPATH=apps/api/prisma/schema.prisma \
PRISMAMIGRATEDBURLENV=POSTGRESPRISMAURL \
bash scripts/check-prisma-migrate.sh
输出约定
- - 输出简洁的通过/失败报告
- 健康状态时退出码为0
- 存在阻塞迁移问题时退出码为1
注意事项
- - 此守卫为只读操作(migrate status),不会应用迁移。
- 在CI中,请将其置于部署或启动迁移步骤之前。