buster/packages/database/drizzle/0035_terms_search.sql

26 lines
898 B
SQL

-- Migration: terms_search
-- Created: 2024-12-23-200017
-- Original: 2024-12-23-200017_terms_search
create extension if not exists vector;
create table if not exists terms_search (
id uuid primary key default gen_random_uuid(),
term_id uuid not null,
content text not null,
definition text not null,
fts tsvector generated always as (to_tsvector('simple', content)) stored,
embedding vector(1024),
organization_id uuid not null references organizations(id),
created_at timestamp not null default now(),
updated_at timestamp not null default now(),
deleted_at timestamp,
constraint terms_search_term_id_key unique(term_id)
);
create index on terms_search(term_id, organization_id);
ALTER TABLE terms_search ENABLE ROW LEVEL SECURITY;
create index on terms_search using gin(fts);
create index on terms_search using hnsw (embedding vector_cosine_ops);