30 lines
1.6 KiB
SQL
30 lines
1.6 KiB
SQL
-- ============================================================
|
||
-- 表16:documents(文档存储表)
|
||
-- 用途:Notion导出存储,支持嵌套结构和树形路径
|
||
-- 导入工作流:霜砚整理 → Notion API导出 → 写入本地documents表
|
||
-- ============================================================
|
||
|
||
CREATE TABLE IF NOT EXISTS documents (
|
||
document_id VARCHAR(64) PRIMARY KEY,
|
||
persona_id VARCHAR(32)
|
||
REFERENCES persona_identity(persona_id),
|
||
parent_id VARCHAR(64) REFERENCES documents(document_id),
|
||
path TEXT NOT NULL, -- 树形路径,如 "/root/folder/doc"
|
||
title VARCHAR(256) NOT NULL,
|
||
content TEXT, -- markdown内容
|
||
content_type VARCHAR(32) NOT NULL DEFAULT 'markdown'
|
||
CHECK (content_type IN ('markdown', 'json', 'plain', 'notion')),
|
||
source VARCHAR(32) NOT NULL DEFAULT 'local'
|
||
CHECK (source IN ('local', 'notion_import', 'api')),
|
||
tags TEXT, -- JSON array
|
||
version INTEGER NOT NULL DEFAULT 1,
|
||
checksum VARCHAR(64),
|
||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||
);
|
||
|
||
CREATE INDEX IF NOT EXISTS idx_doc_persona ON documents(persona_id);
|
||
CREATE INDEX IF NOT EXISTS idx_doc_parent ON documents(parent_id);
|
||
CREATE INDEX IF NOT EXISTS idx_doc_path ON documents(path);
|
||
CREATE INDEX IF NOT EXISTS idx_doc_source ON documents(source);
|