SuperAPI AI 工具集

db-prisma

数据与分析

查看项目

更新于 10-15 17:21

技能介绍

该技能为 Prisma 7 ORM 搭配 PostgreSQL 的生产实践指南,覆盖数据库建模、迁移、数据填充与 Railway 部署。

用途:在新项目初始化 Prisma、设计模型与关系、编写并执行迁移、填充开发数据、将服务部署至 Railway,以及排查 Prisma/PostgreSQL 问题。

安装与初始化:npm install prisma @prisma/client;npx prisma init --datasource-provider postgresql。目录包含 prisma/schema.prisma、prisma/migrations 与 prisma/seed.ts,连接串通过 env("DATABASE_URL") 读取。

建模约定:模型名用单数 PascalCase,字段用 camelCase,数据库列用 @map 映射为 snake_case;每个模型带 createdAt 与 updatedAt;支持枚举、一对多与显式联结表的多对多、索引及 PostgreSQL 特有类型(Json、String[]、Decimal @db.Decimal)。

迁移:本地用 npx prisma migrate dev --name xxx,原型可用 npx prisma db push,重置用 npx prisma migrate reset,查看状态用 npx prisma migrate status,生产用 npx prisma migrate deploy。规则:不改已执行迁移、提交 migrations/ 目录、提交前审阅 SQL。

客户端:npx prisma generate 需在每次 schema 变更后执行;提供 CRUD、include/select、嵌套创建、$transaction(数组与交互式)用法。

填充:seed.ts 配合 package.json 的 prisma.seed 配置,执行 npx prisma db seed,migrate reset 后自动运行。

Railway 部署:DATABASE_URL 由 Postgres 服务自动注入,生产可加 &connection_limit=5;构建命令为 npx prisma generate && npx prisma migrate deploy && npm run build,并给出 railway.toml 的 build/start/healthcheck 配置示例。另可通过 npx prisma studio 打开本地 GUI(http://localhost:5555)。故障排查涉及连接失败、迁移失败、客户端未生成、连接池耗尽与类型错误,相应处理包括检查 DATABASE_URL、migrate status、migrate resolve、重新 generate 及追加连接限制。

限制:技能聚焦 Prisma 7 与 PostgreSQL 及 Railway,其他数据库或平台未提供说明。