用途:在 Supabase PostgreSQL 上使用 Prisma ORM 管理数据库架构、迁移和种子数据,并支持影子数据库配置与 CI 自动化架构检查。
主要能力:安装并初始化 Prisma;配置 Supabase 连接(DATABASE_URL 用于迁移,DIRECT_URL 用于 pgBouncer 池化查询);配置影子数据库以支持迁移预览与校验;定义 schema(UUID 主键、时间戳、关系、索引、唯一约束);创建与应用迁移;编写幂等种子脚本;生成 Prisma Client 并在 Next.js 服务端组件与 Server Actions 中使用;在 CI 中校验 schema 与迁移漂移。
必要用法:安装命令为 npm install -D prisma 与 npm install @prisma/client;初始化用 npx prisma init;创建迁移用 npx prisma migrate dev --name add_profiles_table;生产部署用 npx prisma migrate deploy;重置开发库用 npx prisma migrate reset;运行种子用 npx prisma db seed;重新生成客户端用 npx prisma generate。种子需在 package.json 中配置 prisma.seed,并安装 ts-node。
适用场景:使用 Supabase 与 Prisma 的 Next.js 项目,需要版本化迁移、种子数据、连接池优化及 CI 架构检查的团队。
限制:与 Supabase Auth 集成时不要对 auth.users 建外键,需在应用层处理关系;影子数据库在生产环境应使用独立数据库;migrate reset 会删除全部数据,仅限开发环境;已应用的迁移不应修改,应新建迁移。具体收费、价格与平台支持暂未提供。