-- 创建任务列表表 -- 用于存储需要开发的任务列表 CREATE TABLE IF NOT EXISTS public.task_list ( task_id SERIAL PRIMARY KEY, task_name VARCHAR(255) NOT NULL, task_description TEXT NOT NULL, status VARCHAR(20) NOT NULL DEFAULT 'pending', code_name VARCHAR(255), code_path VARCHAR(500), create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, create_by VARCHAR(100) NOT NULL ); -- 添加表注释 COMMENT ON TABLE public.task_list IS '任务列表表,用于存储需要开发的任务信息'; COMMENT ON COLUMN public.task_list.task_id IS '任务ID,主键,自增'; COMMENT ON COLUMN public.task_list.task_name IS '任务名称'; COMMENT ON COLUMN public.task_list.task_description IS '任务描述,markdown格式'; COMMENT ON COLUMN public.task_list.status IS '任务状态:pending(待处理), processing(处理中), completed(已完成), failed(失败)'; COMMENT ON COLUMN public.task_list.code_name IS '生成的代码文件名'; COMMENT ON COLUMN public.task_list.code_path IS '代码文件路径'; COMMENT ON COLUMN public.task_list.create_time IS '创建时间'; COMMENT ON COLUMN public.task_list.update_time IS '更新时间'; COMMENT ON COLUMN public.task_list.create_by IS '创建者'; -- 创建索引以提高查询性能 CREATE INDEX IF NOT EXISTS idx_task_list_status ON public.task_list(status); CREATE INDEX IF NOT EXISTS idx_task_list_create_time ON public.task_list(create_time); -- 创建更新时间自动更新的触发器函数 CREATE OR REPLACE FUNCTION update_task_list_update_time() RETURNS TRIGGER AS $$ BEGIN NEW.update_time = CURRENT_TIMESTAMP; RETURN NEW; END; $$ LANGUAGE plpgsql; -- 创建触发器 DROP TRIGGER IF EXISTS trigger_update_task_list_time ON public.task_list; CREATE TRIGGER trigger_update_task_list_time BEFORE UPDATE ON public.task_list FOR EACH ROW EXECUTE FUNCTION update_task_list_update_time();