用途:为 Grey Haven Studio 的多租户 SaaS 应用设计数据库 schema,技术栈为 PostgreSQL,配合 SQLModel(FastAPI)与 Drizzle ORM(TanStack Start)。
主要能力与约定:每张表必须包含 tenant_id 以实现租户隔离;字段一律使用 snake_case;所有表需有 id、created_at、updated_at,可选 deleted_at 做软删除;外键与 tenant_id 必须建索引,常用查询可建复合索引;通过 RLS 策略实现租户隔离,示例为 ALTER TABLE users ENABLE ROW LEVEL SECURITY 与 CREATE POLICY "tenant_isolation" ON users FOR ALL USING (tenant_id = current_setting('app.tenant_id')::uuid),并支持 admin 覆盖策略;关系涵盖一对多与多对多(如 user_roles 连接表)。
使用方式:Drizzle 迁移用 bun run db:generate、bun run db:migrate;SQLModel 用 alembic revision --autogenerate -m "add users table"、alembic upgrade head、alembic downgrade -1。资料还提供 examples、reference、templates、checklists 等支持文件。
适用场景:新建表、设计多租户模型、添加关系、编写 RLS 策略、生成迁移、重构 schema、实现软删除、添加性能索引。
限制:资料未提供具体版本要求、性能基准或收费信息;回滚迁移在 Drizzle 侧标注为手动操作。