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;
