数据库规则
ORM:{{ORM_NAME}}
{{ORM_DESCRIPTION}}
模式位置
{{SCHEMA_LOCATION}}
{{MIGRATIONS_SECTION}}
惯例
{{DB_CONVENTIONS}}
关系与查询
{{QUERY_PATTERNS}}
生成规则
- ORM_NAME: “Prisma”、“Drizzle”、“Knex”、“TypeORM”、“Mongoose” 或 “原生 SQL”。
- ORM_DESCRIPTION:检测到的数据库提供程序(postgresql、sqlite、mysql、mongodb)。
- SCHEMA_LOCATION:模式或数据库配置所在的位置。
- 迁移_部分:
- Prisma:开发环境使用
prisma migrate dev,生产环境使用prisma migrate deploy。使用prisma generate重新生成客户端。 - Drizzle:用于迁移请使用
drizzle-kit generate,用于原型设计请使用drizzle-kit push。 - Knex:
knex migrate:make,knex migrate:latest。
- Prisma:开发环境使用
- 数据库约定:
- ID:
uuidvscuidvsautoincrementvsObjectId。从模式中检测。 - 时间戳:
createdAtupdatedAt自动生成。 - 命名:数据库中使用
snake_case,代码中使用camelCase。 - 枚举:原生数据库枚举 vs 字符串 vs TypeScript 枚举。
- 软删除:如果存在
deletedAt字段。
- ID:
- 查询模式:
- Prisma:
prisma.user.findMany({ where, include, select })。Include 与 select 规则。使用prisma.$transaction进行事务处理。 - Drizzle:
db.select().from(users).where(eq(...))。与relations的关系。 - Mongoose:
Model.find()、Model.populate()、Model.aggregate()。 - 原生 SQL:使用参数化查询,切勿使用字符串插值。
- Prisma: