何文松 17f093ead8 fix(database): 允许 templates.base_document_id 为空 1 bulan lalu
..
README_SUPPLEMENT.md 926e4a13ee feat: 实现 NER 实体识别服务并移除 Docker 相关配置 1 bulan lalu
all_tables.sql 17f093ead8 fix(database): 允许 templates.base_document_id 为空 1 bulan lalu
fix_graph_nodes_fk.sql 77b144e137 fix: 移除 graph_nodes.user_id 外键约束 1 bulan lalu
graph_tables.sql 77b144e137 fix: 移除 graph_nodes.user_id 外键约束 1 bulan lalu
init.sql 58f8a8599d fix: 修复 preferences 字段类型兼容性问题 1 bulan lalu
init_supplement_only.sh c849aa6960 feat: 添加数据库重建和补充表初始化脚本 1 bulan lalu
rag_tables.sql f8b3530b1e feat(rag): 实现 RAG 向量化存储功能 1 bulan lalu
rag_tables_compatible.sql 76e4e9f87f fix: 将 RAG 表 ID 字段从 VARCHAR(32) 改为 VARCHAR(36) 1 bulan lalu
rebuild_all.sh a3a60f3101 chore(sql): 新增 all_tables.sql 完整数据库表结构 1 bulan lalu
rebuild_database.sh c849aa6960 feat: 添加数据库重建和补充表初始化脚本 1 bulan lalu
supplement_tables.sql e929fc39c0 chore(sql): 新增 template_tables.sql 模板系统表 1 bulan lalu
template_tables.sql 17f093ead8 fix(database): 允许 templates.base_document_id 为空 1 bulan lalu
text_storage_only.sql 7f82ff1d12 fix: 修复 text_storage 表字段名以匹配 SimpleModel 1 bulan lalu

README_SUPPLEMENT.md

数据库补充表初始化

概述

如果您在运行测试时遇到 relation "text_storage" does not exist 错误,说明需要执行补充表初始化脚本。

初始化步骤

方法 1:使用 psql 命令行

# 连接到数据库并执行脚本
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 文件

补充表说明

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 确认表已创建:

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 功能)