fix(db): V89迁移脚本添加DO块处理不存在的表

This commit is contained in:
2026-06-22 09:51:15 +08:00
parent 35bd10d1b4
commit 55f3731063

View File

@@ -1,62 +1,51 @@
-- V89: 知识图谱 - 添加缺失字段 (description, keywords, severityIndicator, sideEffects, clinicalSignificance, evidenceSource, department, required)
-- V89: 知识图谱 - 添加缺失字段
-- kg_disease: 添加 description, keywords
DO $$ BEGIN
ALTER TABLE kg_disease ADD COLUMN IF NOT EXISTS description TEXT;
EXCEPTION WHEN duplicate_column THEN NULL;
END $$;
DO $$ BEGIN
ALTER TABLE kg_disease ADD COLUMN IF NOT EXISTS keywords VARCHAR(512);
EXCEPTION WHEN duplicate_column THEN NULL;
EXCEPTION WHEN undefined_table THEN
RAISE NOTICE 'kg_disease table does not exist, skipping';
END $$;
COMMENT ON COLUMN kg_disease.description IS '疾病描述';
COMMENT ON COLUMN kg_disease.keywords IS '关键词';
-- kg_symptom: 添加 severity_indicator
DO $$ BEGIN
ALTER TABLE kg_symptom ADD COLUMN IF NOT EXISTS severity_indicator VARCHAR(32);
EXCEPTION WHEN duplicate_column THEN NULL;
EXCEPTION WHEN undefined_table THEN
RAISE NOTICE 'kg_symptom table does not exist, skipping';
END $$;
COMMENT ON COLUMN kg_symptom.severity_indicator IS '严重程度指标';
-- kg_drug: 添加 side_effects
DO $$ BEGIN
ALTER TABLE kg_drug ADD COLUMN IF NOT EXISTS side_effects TEXT;
EXCEPTION WHEN duplicate_column THEN NULL;
EXCEPTION WHEN undefined_table THEN
RAISE NOTICE 'kg_drug table does not exist, skipping';
END $$;
COMMENT ON COLUMN kg_drug.side_effects IS '不良反应';
-- kg_examination: 添加 clinical_significance
DO $$ BEGIN
ALTER TABLE kg_examination ADD COLUMN IF NOT EXISTS clinical_significance TEXT;
EXCEPTION WHEN duplicate_column THEN NULL;
EXCEPTION WHEN undefined_table THEN
RAISE NOTICE 'kg_examination table does not exist, skipping';
END $$;
COMMENT ON COLUMN kg_examination.clinical_significance IS '临床意义';
-- kg_entity_relation: 添加 evidence_source
DO $$ BEGIN
ALTER TABLE kg_entity_relation ADD COLUMN IF NOT EXISTS evidence_source VARCHAR(512);
EXCEPTION WHEN duplicate_column THEN NULL;
EXCEPTION WHEN undefined_table THEN
RAISE NOTICE 'kg_entity_relation table does not exist, skipping';
END $$;
COMMENT ON COLUMN kg_entity_relation.evidence_source IS '证据来源';
-- kg_clinical_pathway: 添加 department
DO $$ BEGIN
ALTER TABLE kg_clinical_pathway ADD COLUMN IF NOT EXISTS department VARCHAR(128);
EXCEPTION WHEN duplicate_column THEN NULL;
EXCEPTION WHEN undefined_table THEN
RAISE NOTICE 'kg_clinical_pathway table does not exist, skipping';
END $$;
COMMENT ON COLUMN kg_clinical_pathway.department IS '所属科室';
-- kg_pathway_step: 添加 required
DO $$ BEGIN
ALTER TABLE kg_pathway_step ADD COLUMN IF NOT EXISTS required CHAR(1) DEFAULT '1';
EXCEPTION WHEN duplicate_column THEN NULL;
EXCEPTION WHEN undefined_table THEN
RAISE NOTICE 'kg_pathway_step table does not exist, skipping';
END $$;
COMMENT ON COLUMN kg_pathway_step.required IS '是否必选(1-是 0-否)';