SuperAPI AI 工具集

db-enforcer

设计与创作

查看项目

更新于 10-16 02:35

技能介绍

用途:在 TypeScript 应用层与 PostgreSQL 持久层之间强制数据完整性与架构一致性,防止类型漂移,确保 CHECK 约束与 TypeScript 类型对应、迁移先于变更生成、每张表都受行级安全(RLS)保护。适用于模式设计、迁移规划、RLS 策略编写、Prisma 模型映射、约束审计和零停机部署;不适用于应用层业务逻辑、前端状态管理和非 PostgreSQL 数据库。

主要能力:类型到数据库同步(prisma migrate dev --create-only 先生成 SQL)、命名对齐(SQL 用 snake_case,TS 用 camelCase,通过 @map/@@map)、主键 DEFAULT uuidv7()、虚拟列 GENERATED ALWAYS AS (...) VIRTUAL、时间唯一性 EXCLUDE USING gist、NOT VALID 约束避免锁表、TypedSQL(prisma.$queryRawTyped())、无外键环境的 relationMode = "prisma"、软删除 Prisma $extends、RLS 标准策略 (select auth.uid()) = user_id、团队 RLS 用 EXISTS 子查询、列级安全用 PostgreSQL 视图。

使用方式:每次模式修改须遵循同步协议——类型到数据库验证、迁移优先生成、命名对齐、完整性审计(prisma validate 并检查关系标量索引)、RLS 验证、锁评估。部署流水线为:prisma migrate dev --create-only 本地生成并审查 SQL,prisma validate 校验,应用到预发库并跑集成测试,prisma migrate deploy 在 CI/CD 应用到生产,监控锁竞争与查询计划回归。

限制:部分模式依赖特定 PostgreSQL 版本,如 uuidv7() 和虚拟列需 PG 18+,security_invoker 需 PG 15+,EXCLUDE USING 需 9.0+,NOT VALID 需 9.1+,低版本需回退方案。完整 RLS 审计、性能调优与合规验证应改用 database-security 技能。资料未提供收费、价格或平台信息。