feat: add per-user tenant scoping
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
-- Per-user tenancy: authenticate key/client id becomes an opaque tenant boundary.
|
||||
-- Existing rows remain in the legacy unscoped tenant (NULL) for single-tenant installs.
|
||||
|
||||
alter table projects add column if not exists tenant_key text;
|
||||
alter table thoughts add column if not exists tenant_key text;
|
||||
alter table stored_files add column if not exists tenant_key text;
|
||||
alter table learnings add column if not exists tenant_key text;
|
||||
alter table plans add column if not exists tenant_key text;
|
||||
alter table chat_histories add column if not exists tenant_key text;
|
||||
|
||||
-- Project names are now unique inside a tenant rather than globally.
|
||||
drop index if exists projects_name_key;
|
||||
create unique index if not exists projects_tenant_key_name_idx
|
||||
on projects (coalesce(tenant_key, ''), name);
|
||||
|
||||
create index if not exists projects_tenant_key_idx on projects (tenant_key);
|
||||
create index if not exists thoughts_tenant_key_idx on thoughts (tenant_key);
|
||||
create index if not exists thoughts_tenant_key_project_id_idx on thoughts (tenant_key, project_id);
|
||||
create index if not exists stored_files_tenant_key_idx on stored_files (tenant_key);
|
||||
create index if not exists learnings_tenant_key_idx on learnings (tenant_key);
|
||||
create index if not exists plans_tenant_key_idx on plans (tenant_key);
|
||||
create index if not exists chat_histories_tenant_key_idx on chat_histories (tenant_key);
|
||||
Reference in New Issue
Block a user