Просмотр исходного кода

fix: 移除 supplement_tables.sql 中重复的 vector_embeddings 表定义

避免与 rag_tables_compatible.sql 的表结构冲突,统一使用后者的定义(包含 chunk_id 列)
何文松 1 месяц назад
Родитель
Сommit
c7e689cc13
1 измененных файлов с 3 добавлено и 40 удалено
  1. 3 40
      backend/sql/supplement_tables.sql

+ 3 - 40
backend/sql/supplement_tables.sql

@@ -100,37 +100,15 @@ CREATE INDEX IF NOT EXISTS idx_text_storage_document_id ON text_storage(document
 CREATE UNIQUE INDEX IF NOT EXISTS idx_text_storage_document_unique ON text_storage(document_id);
 
 -- ============================================
--- 7. 向量存储表(vector_embeddings)
+-- 注意: vector_embeddings 表已在 rag_tables_compatible.sql 中定义
+-- 请勿在此重复定义,以避免表结构冲突
 -- ============================================
--- 注意:需要先安装pgvector扩展
--- CREATE EXTENSION IF NOT EXISTS vector;
-
-CREATE TABLE IF NOT EXISTS vector_embeddings (
-    id VARCHAR(36) PRIMARY KEY,
-    document_id VARCHAR(36) NOT NULL REFERENCES documents(id) ON DELETE CASCADE,
-    chunk_text TEXT NOT NULL,
-    chunk_index INTEGER NOT NULL, -- 分块索引
-    embedding vector(768), -- 向量(需要pgvector扩展,如果未安装可先注释)
-    file_name VARCHAR(255),
-    file_hash VARCHAR(64), -- MD5哈希
-    metadata JSONB DEFAULT '{}',
-    create_by VARCHAR(36),
-    create_by_name VARCHAR(100),
-    create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-    update_by VARCHAR(36),
-    update_by_name VARCHAR(100),
-    update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
-);
-
-CREATE INDEX IF NOT EXISTS idx_vector_embeddings_document_id ON vector_embeddings(document_id);
-CREATE INDEX IF NOT EXISTS idx_vector_embeddings_file_hash ON vector_embeddings(file_hash);
--- 向量相似度搜索索引(需要pgvector扩展)
--- CREATE INDEX IF NOT EXISTS idx_vector_embeddings_embedding ON vector_embeddings USING ivfflat (embedding vector_cosine_ops);
 
 -- ============================================
 -- 创建更新时间触发器
 -- ============================================
 -- 注意: graph_nodes 和 graph_relations 的触发器已在 graph_tables.sql 中定义
+-- 注意: vector_embeddings 的触发器已在 rag_tables_compatible.sql 中定义
 
 DROP TRIGGER IF EXISTS update_rules_update_time ON rules;
 CREATE TRIGGER update_rules_update_time BEFORE UPDATE ON rules
@@ -147,18 +125,3 @@ CREATE TRIGGER update_templates_update_time BEFORE UPDATE ON templates
 DROP TRIGGER IF EXISTS update_text_storage_update_time ON text_storage;
 CREATE TRIGGER update_text_storage_update_time BEFORE UPDATE ON text_storage
     FOR EACH ROW EXECUTE FUNCTION update_update_time_column();
-
-DROP TRIGGER IF EXISTS update_vector_embeddings_update_time ON vector_embeddings;
-CREATE TRIGGER update_vector_embeddings_update_time BEFORE UPDATE ON vector_embeddings
-    FOR EACH ROW EXECUTE FUNCTION update_update_time_column();
-
--- ============================================
--- 安装pgvector扩展(可选,用于向量检索)
--- ============================================
--- 如果需要使用pgvector,请执行:
--- CREATE EXTENSION IF NOT EXISTS vector;
--- 
--- 安装方法:
--- 1. 下载pgvector: https://github.com/pgvector/pgvector
--- 2. 编译安装
--- 3. 在数据库中执行: CREATE EXTENSION vector;