|
@@ -0,0 +1,68 @@
|
|
|
|
|
+# 数据库补充表初始化
|
|
|
|
|
+
|
|
|
|
|
+## 概述
|
|
|
|
|
+
|
|
|
|
|
+如果您在运行测试时遇到 `relation "text_storage" does not exist` 错误,说明需要执行补充表初始化脚本。
|
|
|
|
|
+
|
|
|
|
|
+## 初始化步骤
|
|
|
|
|
+
|
|
|
|
|
+### 方法 1:使用 psql 命令行
|
|
|
|
|
+
|
|
|
|
|
+```bash
|
|
|
|
|
+# 连接到数据库并执行脚本
|
|
|
|
|
+psql -U <username> -d lingyue_zhibao -f backend/sql/supplement_tables.sql
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+### 方法 2:使用数据库客户端工具
|
|
|
|
|
+
|
|
|
|
|
+1. 打开您的数据库客户端(如 DBeaver、pgAdmin 等)
|
|
|
|
|
+2. 连接到 `lingyue_zhibao` 数据库
|
|
|
|
|
+3. 打开并执行 `backend/sql/supplement_tables.sql` 文件
|
|
|
|
|
+
|
|
|
|
|
+### 方法 3:使用 Docker
|
|
|
|
|
+
|
|
|
|
|
+如果您使用 Docker Compose:
|
|
|
|
|
+
|
|
|
|
|
+```bash
|
|
|
|
|
+# 进入 PostgreSQL 容器
|
|
|
|
|
+docker exec -it <postgres_container_name> bash
|
|
|
|
|
+
|
|
|
|
|
+# 在容器内执行
|
|
|
|
|
+psql -U postgres -d lingyue_zhibao -f /path/to/supplement_tables.sql
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+## 补充表说明
|
|
|
|
|
+
|
|
|
|
|
+`supplement_tables.sql` 包含以下表:
|
|
|
|
|
+
|
|
|
|
|
+1. **text_storage** - 文本存储路径表(用于记录解析后的文本文件路径)
|
|
|
|
|
+2. **vector_embeddings** - 向量存储表(用于 RAG 检索)
|
|
|
|
|
+3. **knowledge_base** - 知识库表
|
|
|
|
|
+4. **rag_sessions** - RAG 会话表
|
|
|
|
|
+5. **rag_messages** - RAG 消息表
|
|
|
|
|
+
|
|
|
|
|
+## 注意事项
|
|
|
|
|
+
|
|
|
|
|
+- 脚本使用 `IF NOT EXISTS`,可以安全地重复执行
|
|
|
|
|
+- `vector_embeddings` 表需要 pgvector 扩展,如果未安装,该表创建可能会失败(可以暂时跳过)
|
|
|
|
|
+- 部分表使用 UUID 类型,确保 PostgreSQL 支持 UUID 扩展
|
|
|
|
|
+
|
|
|
|
|
+## 验证
|
|
|
|
|
+
|
|
|
|
|
+执行以下 SQL 确认表已创建:
|
|
|
|
|
+
|
|
|
|
|
+```sql
|
|
|
|
|
+SELECT table_name
|
|
|
|
|
+FROM information_schema.tables
|
|
|
|
|
+WHERE table_schema = 'public'
|
|
|
|
|
+AND table_name IN ('text_storage', 'vector_embeddings', 'knowledge_base', 'rag_sessions', 'rag_messages');
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+## 当前测试状态
|
|
|
|
|
+
|
|
|
|
|
+即使没有执行补充表脚本,文件上传和解析功能仍然可以正常工作。`text_storage` 表的记录失败不会影响主要流程,只是无法记录文本存储路径。
|
|
|
|
|
+
|
|
|
|
|
+完整的测试流程需要:
|
|
|
|
|
+1. 基础表(`init.sql`)- 必需
|
|
|
|
|
+2. 补充表(`supplement_tables.sql`)- 推荐
|
|
|
|
|
+3. RAG 表(`rag_tables.sql`)- 可选(用于 RAG 功能)
|