create table if not exists embeddings ( id bigserial primary key, guid uuid not null default gen_random_uuid(), thought_id uuid not null references thoughts(id) on delete cascade, model text not null, dim int not null, embedding vector not null, created_at timestamptz default now(), updated_at timestamptz default now(), constraint embeddings_guid_unique unique (guid), constraint embeddings_thought_model_unique unique (thought_id, model) ); create index if not exists embeddings_thought_id_idx on embeddings (thought_id); alter table thoughts drop column if exists embedding;