jacklalane's picture
Deploy GitRag space
324144b verified
Raw
History Blame Contribute Delete
1.11 kB
-- GitRag PostgreSQL schema
-- Embedding dimension is read from EMBEDDING_DIMENSIONS in constants.py at bootstrap time.
CREATE EXTENSION IF NOT EXISTS vector;
CREATE TABLE IF NOT EXISTS chunks (
id TEXT PRIMARY KEY,
repo TEXT NOT NULL,
branch TEXT,
path TEXT NOT NULL,
language TEXT NOT NULL,
start_row INTEGER NOT NULL,
start_col INTEGER NOT NULL,
end_row INTEGER NOT NULL,
end_col INTEGER NOT NULL,
start_bytes INTEGER NOT NULL,
end_bytes INTEGER NOT NULL,
chunk TEXT NOT NULL,
status TEXT NOT NULL,
mutation_id TEXT,
embedding vector({embedding_dim}) NOT NULL,
search_vector tsvector
);
CREATE INDEX IF NOT EXISTS chunks_repo_idx ON chunks (repo);
CREATE INDEX IF NOT EXISTS chunks_repo_branch_idx ON chunks (repo, branch);
CREATE INDEX IF NOT EXISTS chunks_path_idx ON chunks (path);
CREATE INDEX IF NOT EXISTS chunks_repo_path_idx ON chunks (repo, path);
CREATE INDEX IF NOT EXISTS chunks_search_vector_idx ON chunks USING GIN (search_vector);
CREATE INDEX IF NOT EXISTS chunks_embedding_idx ON chunks USING hnsw (embedding vector_cosine_ops);