57 lines
2.0 KiB
SQL
57 lines
2.0 KiB
SQL
-- 办公智能编稿系统数据库初始化脚本
|
|
|
|
-- 创建用户表
|
|
CREATE TABLE IF NOT EXISTS users (
|
|
id SERIAL PRIMARY KEY,
|
|
username VARCHAR(50) UNIQUE NOT NULL,
|
|
email VARCHAR(100) UNIQUE NOT NULL,
|
|
password_hash VARCHAR(255) NOT NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
-- 创建文档表
|
|
CREATE TABLE IF NOT EXISTS documents (
|
|
id SERIAL PRIMARY KEY,
|
|
user_id INTEGER REFERENCES users(id),
|
|
title VARCHAR(200) NOT NULL,
|
|
content TEXT,
|
|
doc_type VARCHAR(50),
|
|
status VARCHAR(20) DEFAULT 'draft',
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
-- 创建知识库表
|
|
CREATE TABLE IF NOT EXISTS knowledge_base (
|
|
id SERIAL PRIMARY KEY,
|
|
title VARCHAR(200) NOT NULL,
|
|
content TEXT,
|
|
category VARCHAR(50),
|
|
tags TEXT[],
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
-- 创建对话记录表
|
|
CREATE TABLE IF NOT EXISTS conversations (
|
|
id SERIAL PRIMARY KEY,
|
|
user_id INTEGER REFERENCES users(id),
|
|
agent_type VARCHAR(50),
|
|
question TEXT,
|
|
answer TEXT,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
-- 插入示例数据
|
|
INSERT INTO knowledge_base (title, content, category, tags) VALUES
|
|
('Vue.js 基础知识', 'Vue.js 是一个用于构建用户界面的渐进式框架...', '技术文档', ARRAY['Vue', 'JavaScript', '前端']),
|
|
('项目管理最佳实践', '有效的项目管理需要明确的目标设定...', '管理', ARRAY['项目管理', '团队协作']),
|
|
('数据分析方法论', '数据分析是从数据中提取有价值信息的过程...', '数据科学', ARRAY['数据分析', '统计学']);
|
|
|
|
-- 创建索引
|
|
CREATE INDEX IF NOT EXISTS idx_documents_user_id ON documents(user_id);
|
|
CREATE INDEX IF NOT EXISTS idx_documents_type ON documents(doc_type);
|
|
CREATE INDEX IF NOT EXISTS idx_conversations_user_id ON conversations(user_id);
|
|
CREATE INDEX IF NOT EXISTS idx_knowledge_category ON knowledge_base(category);
|