Skip to content

Commit b9fa50b

Browse files
committed
Add db migration
1 parent 76c0c56 commit b9fa50b

File tree

6 files changed

+5593
-12
lines changed

6 files changed

+5593
-12
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
CREATE TABLE "docs_embeddings" (
2+
"chunk_id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3+
"chunk_text" text NOT NULL,
4+
"source_document" text NOT NULL,
5+
"source_link" text NOT NULL,
6+
"header_text" text NOT NULL,
7+
"header_level" integer NOT NULL,
8+
"token_count" integer NOT NULL,
9+
"embedding" vector(1536) NOT NULL,
10+
"embedding_model" text DEFAULT 'text-embedding-3-small' NOT NULL,
11+
"metadata" jsonb DEFAULT '{}' NOT NULL,
12+
"chunk_text_tsv" "tsvector" GENERATED ALWAYS AS (to_tsvector('english', "docs_embeddings"."chunk_text")) STORED,
13+
"created_at" timestamp DEFAULT now() NOT NULL,
14+
"updated_at" timestamp DEFAULT now() NOT NULL,
15+
CONSTRAINT "docs_embedding_not_null_check" CHECK ("embedding" IS NOT NULL),
16+
CONSTRAINT "docs_header_level_check" CHECK ("header_level" >= 1 AND "header_level" <= 6)
17+
);
18+
--> statement-breakpoint
19+
CREATE INDEX "docs_emb_source_document_idx" ON "docs_embeddings" USING btree ("source_document");--> statement-breakpoint
20+
CREATE INDEX "docs_emb_header_level_idx" ON "docs_embeddings" USING btree ("header_level");--> statement-breakpoint
21+
CREATE INDEX "docs_emb_source_header_idx" ON "docs_embeddings" USING btree ("source_document","header_level");--> statement-breakpoint
22+
CREATE INDEX "docs_emb_model_idx" ON "docs_embeddings" USING btree ("embedding_model");--> statement-breakpoint
23+
CREATE INDEX "docs_emb_created_at_idx" ON "docs_embeddings" USING btree ("created_at");--> statement-breakpoint
24+
CREATE INDEX "docs_embedding_vector_hnsw_idx" ON "docs_embeddings" USING hnsw ("embedding" vector_cosine_ops) WITH (m=16,ef_construction=64);--> statement-breakpoint
25+
CREATE INDEX "docs_emb_metadata_gin_idx" ON "docs_embeddings" USING gin ("metadata");--> statement-breakpoint
26+
CREATE INDEX "docs_emb_chunk_text_fts_idx" ON "docs_embeddings" USING gin ("chunk_text_tsv");

0 commit comments

Comments
 (0)