chore: make vector extension optional for migrations

This commit is contained in:
Bartosz Sypytkowski 2024-06-14 19:03:03 +02:00
parent 6685b24239
commit 709f8c3cdf
1 changed files with 22 additions and 15 deletions

View File

@ -1,17 +1,24 @@
-- Add migration script here
CREATE EXTENSION IF NOT EXISTS vector;
DO $$
BEGIN
-- Add migration script here
CREATE EXTENSION IF NOT EXISTS vector;
-- create table to store collab embeddings
CREATE TABLE IF NOT EXISTS af_collab_embeddings
(
fragment_id TEXT NOT NULL PRIMARY KEY,
oid TEXT NOT NULL,
partition_key INTEGER NOT NULL,
content_type INTEGER NOT NULL,
indexed_at TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT (NOW()),
content TEXT,
embedding VECTOR(1536),
FOREIGN KEY (oid, partition_key) REFERENCES af_collab (oid, partition_key) ON DELETE CASCADE
);
-- create table to store collab embeddings
CREATE TABLE IF NOT EXISTS af_collab_embeddings
(
fragment_id TEXT NOT NULL PRIMARY KEY,
oid TEXT NOT NULL,
partition_key INTEGER NOT NULL,
content_type INTEGER NOT NULL,
indexed_at TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT (NOW()),
content TEXT,
embedding VECTOR(1536),
FOREIGN KEY (oid, partition_key) REFERENCES af_collab (oid, partition_key) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS af_collab_embeddings_similarity_idx ON af_collab_embeddings USING hnsw (embedding vector_cosine_ops);
CREATE INDEX IF NOT EXISTS af_collab_embeddings_similarity_idx ON af_collab_embeddings USING hnsw (embedding vector_cosine_ops);
EXCEPTION WHEN OTHERS THEN
RAISE NOTICE 'could not create "vector" extension, ignoring this migration';
END;
$$ LANGUAGE plpgsql;