create table if not exists stored_files ( id bigserial primary key, guid uuid not null default gen_random_uuid(), thought_id uuid references thoughts(guid) on delete set null, project_id uuid references projects(guid) on delete set null, name text not null, media_type text not null, kind text not null default 'file', encoding text not null default 'base64', size_bytes bigint not null, sha256 text not null, content bytea not null, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), constraint stored_files_guid_unique unique (guid) ); create index if not exists stored_files_thought_id_idx on stored_files (thought_id); create index if not exists stored_files_project_id_idx on stored_files (project_id); create index if not exists stored_files_sha256_idx on stored_files (sha256);