用途:为 Grey Haven Studio 的多租户 SaaS 应用设计数据库 schema,技术栈为 PostgreSQL,ORM 使用 SQLModel(FastAPI)或 Drizzle ORM(TanStack Start),并通过行级安全(RLS)实现租户隔离。
主要能力与规则:每张表必须包含 tenant_id;字段一律使用 snake_case,禁止 camelCase;所有表需有 id、created_at、updated_at,可选 deleted_at 用于软删除;邮箱字段命名为 email_address,布尔字段使用 is_/has_/can_ 前缀。核心表包括 tenants(根表,含 name、slug、is_active)与 users(含 tenant_id、email_address、full_name、is_active、deleted_at)。支持一对多与多对多关系,多对多通过中间表(如 user_roles)实现,并需为外键与连接表建索引。RLS 方面需对所有表执行 ALTER TABLE ... ENABLE ROW LEVEL SECURITY,并创建 tenant_isolation 策略,使用 tenant_id = current_setting('app.tenant_id')::uuid,另可配置 admin_override 策略。索引要求始终为 tenant_id 与外键建索引,常见查询可建复合索引。
使用方式:Drizzle Kit 迁移命令为 bun run db:generate、bun run db:migrate;Alembic 命令为 alembic revision --autogenerate -m "add users table"、alembic upgrade head、alembic downgrade -1。资料还提供 examples、reference、templates、checklists 等支持文档,含 drizzle-table.ts 与 sqlmodel-table.py 模板及 schema-checklist.md。
适用场景:新建表、设计多租户数据模型、添加表关系、创建 RLS 策略、生成迁移、重构 schema、实现软删除、添加性能索引。
限制:资料未提供具体版本要求、性能基准、收费信息或平台支持范围;迁移回滚在 Drizzle 部分标注为手动操作。