| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- -- 创建数据订单表
- -- 用于记录用户提交的数据需求订单
- CREATE TABLE IF NOT EXISTS public.data_orders (
- id SERIAL PRIMARY KEY,
-
- -- 订单基本信息
- order_no VARCHAR(50) NOT NULL UNIQUE, -- 订单编号,格式:DO + 年月日 + 4位序号
- title VARCHAR(200) NOT NULL, -- 订单标题
- description TEXT NOT NULL, -- 需求描述
-
- -- LLM 提取结果
- extracted_domains JSONB, -- 提取的业务领域列表
- extracted_fields JSONB, -- 提取的数据字段列表
- extraction_purpose TEXT, -- 提取的数据用途
-
- -- 图谱分析结果
- graph_analysis JSONB, -- 连通性分析结果
- can_connect BOOLEAN, -- 是否可连通
- connection_path JSONB, -- 连通路径
-
- -- 状态管理
- -- pending-待处理, analyzing-分析中, processing-加工中,
- -- completed-完成, rejected-驳回, need_supplement-待补充,
- -- manual_review-待人工处理, updated-已更新
- status VARCHAR(50) NOT NULL DEFAULT 'pending',
-
- reject_reason TEXT, -- 驳回原因
-
- -- 关联数据
- result_product_id INTEGER, -- 生成的数据产品ID
- result_dataflow_id INTEGER, -- 生成的数据流ID
-
- -- 审计字段
- created_by VARCHAR(100) NOT NULL DEFAULT 'user',
- created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
- updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
- processed_by VARCHAR(100), -- 处理人
- processed_at TIMESTAMP -- 处理时间
- );
- -- 创建索引
- CREATE INDEX IF NOT EXISTS idx_data_orders_order_no ON public.data_orders(order_no);
- CREATE INDEX IF NOT EXISTS idx_data_orders_status ON public.data_orders(status);
- CREATE INDEX IF NOT EXISTS idx_data_orders_created_at ON public.data_orders(created_at DESC);
- CREATE INDEX IF NOT EXISTS idx_data_orders_created_by ON public.data_orders(created_by);
- -- 添加表注释
- COMMENT ON TABLE public.data_orders IS '数据订单表,记录用户提交的数据需求订单';
- COMMENT ON COLUMN public.data_orders.order_no IS '订单编号,格式:DO + 年月日 + 4位序号,如 DO202412290001';
- COMMENT ON COLUMN public.data_orders.title IS '订单标题';
- COMMENT ON COLUMN public.data_orders.description IS '需求描述,用户输入的数据需求详情';
- COMMENT ON COLUMN public.data_orders.extracted_domains IS 'LLM 提取的业务领域列表,JSON 数组格式';
- COMMENT ON COLUMN public.data_orders.extracted_fields IS 'LLM 提取的数据字段列表,JSON 数组格式';
- COMMENT ON COLUMN public.data_orders.extraction_purpose IS 'LLM 提取的数据用途描述';
- COMMENT ON COLUMN public.data_orders.graph_analysis IS '图谱连通性分析结果,包含匹配的节点和连接信息';
- COMMENT ON COLUMN public.data_orders.can_connect IS '是否可通过共同字段连通';
- COMMENT ON COLUMN public.data_orders.connection_path IS '连通路径信息,包含可用于 JOIN 的字段';
- COMMENT ON COLUMN public.data_orders.status IS '订单状态:pending/analyzing/processing/completed/rejected/need_supplement/manual_review/updated';
- COMMENT ON COLUMN public.data_orders.reject_reason IS '驳回原因';
- COMMENT ON COLUMN public.data_orders.result_product_id IS '生成的数据产品ID,关联 data_products 表';
- COMMENT ON COLUMN public.data_orders.result_dataflow_id IS '生成的数据流ID,关联 Neo4j 中的 DataFlow 节点';
- COMMENT ON COLUMN public.data_orders.created_by IS '创建人';
- COMMENT ON COLUMN public.data_orders.created_at IS '创建时间';
- COMMENT ON COLUMN public.data_orders.updated_at IS '更新时间';
- COMMENT ON COLUMN public.data_orders.processed_by IS '处理人';
- COMMENT ON COLUMN public.data_orders.processed_at IS '处理时间';
|