用途:为 Grey Haven 多租户数据库 schema 提供统一约定,适用于 Drizzle ORM(TypeScript)与 SQLModel(Python)两种技术栈,用于设计新 schema、编写模型、迁移、RLS 策略、索引与关系,以及 PR 中的数据库代码审查。
主要能力与关键规则:
- 字段命名:数据库列必须使用 snake_case,禁止 camelCase。布尔字段用 is_/has_/can_ 前缀,时间戳用 _at 后缀,外键用 _id 后缀。
- 多租户:每张表必须包含 tenant_id 用于数据隔离。
- 标准时间戳:所有表需有 created_at 与 updated_at,可用可复用对象或 Mixin 模式。
- 行级安全(RLS):所有含 tenant_id 的表启用 RLS,并创建租户隔离策略。
- 索引:为 tenant_id、外键、唯一约束(email、slug)及高频查询字段建立索引,支持复合索引。
- 关系:显式定义一对多等关系。
- 迁移:始终使用迁移工具(Drizzle Kit 或 Alembic),禁止裸 SQL 查询,使用软删除(deleted_at)。
使用方式:Drizzle 安装命令为 bun add drizzle-orm postgres 与 bun add -d drizzle-kit,迁移命令为 bun run drizzle-kit generate:pg 与 bun run drizzle-kit push:pg。SQLModel 安装命令为 pip install sqlmodel psycopg2-binary,迁移命令为 alembic revision --autogenerate -m "Add users table" 与 alembic upgrade head。
适用场景:设计新数据库 schema、创建 Drizzle 或 SQLModel 模型、编写迁移、设置 RLS 策略、添加索引、定义表关系、审查数据库代码。
限制:资料未提供具体收费、价格、平台支持范围或性能效果数据;示例与参考文件均小于 500 行,具体内容需查阅对应文档。