chore(db): 移除多个数据库迁移脚本
- 移除患者管理字段缺失修复脚本 V2026_0608_1 - 移除文化程度字典类型添加脚本 V2026_0608_2 - 移除HisBaseEntity列缺失修复脚本 V2026_0608 - 移除处方拦截日志表修复脚本 V2026_0611 - 移除临床路径执行表修复脚本 V2026_0612 - 移除EMPI核心表创建脚本 V2026_0616_1 - 移除EMPI合并日志时间字段修复脚本 V2026_0616_2 - 移除手术状态字典重复数据修复脚本 V2026_0617 - 移除医嘱退回流程设备请求字段添加脚本 V20260615
This commit is contained in:
@@ -1,11 +0,0 @@
|
||||
-- Bug #613: 医嘱退回流程 - 耗材请求表增加退回相关字段
|
||||
-- 与 med_medication_request 和 wor_service_request 保持一致
|
||||
|
||||
ALTER TABLE wor_device_request
|
||||
ADD COLUMN IF NOT EXISTS back_reason VARCHAR(500),
|
||||
ADD COLUMN IF NOT EXISTS performer_check_id BIGINT,
|
||||
ADD COLUMN IF NOT EXISTS check_time TIMESTAMP;
|
||||
|
||||
COMMENT ON COLUMN wor_device_request.back_reason IS '退回原因';
|
||||
COMMENT ON COLUMN wor_device_request.performer_check_id IS '校对人/退回护士';
|
||||
COMMENT ON COLUMN wor_device_request.check_time IS '校对时间/退回时间';
|
||||
@@ -1,25 +0,0 @@
|
||||
-- Bug #705: 患者管理修改后字段回显丢失修复
|
||||
-- 添加邮政编码、户籍地址、监护人信息、患者来源等缺失字段到adm_patient表
|
||||
|
||||
-- 邮政编码
|
||||
ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS postal_code VARCHAR(10);
|
||||
|
||||
-- 户籍地址
|
||||
ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS hukou_address VARCHAR(500);
|
||||
|
||||
-- 监护人信息
|
||||
ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS guardian_name VARCHAR(50);
|
||||
ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS guardian_relation INTEGER;
|
||||
ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS guardian_phone VARCHAR(20);
|
||||
ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS guardian_id_type VARCHAR(10);
|
||||
ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS guardian_id_no VARCHAR(30);
|
||||
ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS guardian_address VARCHAR(500);
|
||||
|
||||
-- 患者来源
|
||||
ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS patient_derived VARCHAR(50);
|
||||
|
||||
-- 文化程度
|
||||
ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS education_level VARCHAR(20);
|
||||
|
||||
-- 单位地址
|
||||
ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS company_address VARCHAR(500);
|
||||
@@ -1,48 +0,0 @@
|
||||
-- Bug #704: 添加文化程度字典类型和字典数据
|
||||
-- 问题:修改患者弹窗"文化程度"下拉无数据,因为 sys_dict_type 中缺少 education_level 字典类型
|
||||
|
||||
-- 1. 添加字典类型
|
||||
INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark)
|
||||
SELECT '文化程度', 'education_level', '0', 'admin', CURRENT_TIMESTAMP, '患者文化程度字典'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type = 'education_level');
|
||||
|
||||
-- 2. 添加字典数据(按编码排序)
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 1, '小学毕业', '3919', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3919');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 2, '初中毕业', '3915', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3915');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 3, '普通高中毕业', '3920', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3920');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 4, '职业高中毕业', '3918', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3918');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 5, '技工学校毕业', '3917', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3917');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 6, '中等专科毕业', '3921', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3921');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 7, '大学专科毕业', '3911', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3911');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 8, '大学本科', '3912', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3912');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 9, '硕士研究生', '3913', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3913');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 10, '博士研究生', '3914', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3914');
|
||||
@@ -1,88 +0,0 @@
|
||||
-- 修复HisBaseEntity列缺失问题 (2026-06-08)
|
||||
-- 全链路测试发现的DB字段缺失修复
|
||||
|
||||
-- 1. 创建adm_instrument表(完全缺失)
|
||||
CREATE TABLE IF NOT EXISTS adm_instrument (
|
||||
id BIGINT PRIMARY KEY,
|
||||
instrument_code VARCHAR(64),
|
||||
instrument_name VARCHAR(128),
|
||||
instrument_main_code VARCHAR(64),
|
||||
instrument_type_enum INTEGER,
|
||||
instrument_model VARCHAR(128),
|
||||
manufacturer VARCHAR(256),
|
||||
serial_number VARCHAR(128),
|
||||
purchasing_company VARCHAR(256),
|
||||
contact_person VARCHAR(64),
|
||||
purchase_date TIMESTAMP,
|
||||
original_price NUMERIC(12,2),
|
||||
transaction_price NUMERIC(12,2),
|
||||
installation_date TIMESTAMP,
|
||||
installation_person VARCHAR(64),
|
||||
maintenance_person VARCHAR(64),
|
||||
org_id BIGINT,
|
||||
identification_person VARCHAR(64),
|
||||
recorded_temperature VARCHAR(32),
|
||||
accessories TEXT,
|
||||
instrument_status_enum INTEGER DEFAULT 0,
|
||||
damage_report_date TIMESTAMP,
|
||||
recheckable_instrument_enum INTEGER DEFAULT 0,
|
||||
usage_status_enum INTEGER DEFAULT 1,
|
||||
decommission_reason TEXT,
|
||||
remarks TEXT,
|
||||
create_by VARCHAR(64),
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_by VARCHAR(64),
|
||||
update_time TIMESTAMP,
|
||||
tenant_id INTEGER DEFAULT 1,
|
||||
delete_flag VARCHAR(1) DEFAULT '0'
|
||||
);
|
||||
|
||||
-- 2. 修复radiology_statistics列缺失
|
||||
ALTER TABLE radiology_statistics ADD COLUMN IF NOT EXISTS create_by VARCHAR(64);
|
||||
ALTER TABLE radiology_statistics ADD COLUMN IF NOT EXISTS update_by VARCHAR(64);
|
||||
ALTER TABLE radiology_statistics ADD COLUMN IF NOT EXISTS update_time TIMESTAMP;
|
||||
ALTER TABLE radiology_statistics ADD COLUMN IF NOT EXISTS delete_flag VARCHAR(1) DEFAULT '0';
|
||||
|
||||
-- 3. 修复mr_drg_grouping列缺失
|
||||
ALTER TABLE mr_drg_grouping ADD COLUMN IF NOT EXISTS create_by VARCHAR(64);
|
||||
ALTER TABLE mr_drg_grouping ADD COLUMN IF NOT EXISTS update_by VARCHAR(64);
|
||||
ALTER TABLE mr_drg_grouping ADD COLUMN IF NOT EXISTS update_time TIMESTAMP;
|
||||
|
||||
-- 4. 修复icd10_code列缺失
|
||||
ALTER TABLE icd10_code ADD COLUMN IF NOT EXISTS create_by VARCHAR(64);
|
||||
ALTER TABLE icd10_code ADD COLUMN IF NOT EXISTS update_by VARCHAR(64);
|
||||
ALTER TABLE icd10_code ADD COLUMN IF NOT EXISTS update_time TIMESTAMP;
|
||||
ALTER TABLE icd10_code ADD COLUMN IF NOT EXISTS delete_flag VARCHAR(1) DEFAULT '0';
|
||||
|
||||
-- 5. 修复lab_result_comparison列缺失
|
||||
ALTER TABLE lab_result_comparison ADD COLUMN IF NOT EXISTS create_by VARCHAR(64);
|
||||
ALTER TABLE lab_result_comparison ADD COLUMN IF NOT EXISTS update_by VARCHAR(64);
|
||||
ALTER TABLE lab_result_comparison ADD COLUMN IF NOT EXISTS update_time TIMESTAMP;
|
||||
|
||||
-- 6. 修复radiology_image_comparison列缺失
|
||||
ALTER TABLE radiology_image_comparison ADD COLUMN IF NOT EXISTS create_by VARCHAR(64);
|
||||
ALTER TABLE radiology_image_comparison ADD COLUMN IF NOT EXISTS update_by VARCHAR(64);
|
||||
ALTER TABLE radiology_image_comparison ADD COLUMN IF NOT EXISTS update_time TIMESTAMP;
|
||||
|
||||
-- 7. 修复adm_observation_definition列缺失
|
||||
ALTER TABLE adm_observation_definition ADD COLUMN IF NOT EXISTS tenant_id INTEGER DEFAULT 1;
|
||||
|
||||
-- 8. 修复adm_specimen_definition列缺失
|
||||
ALTER TABLE adm_specimen_definition ADD COLUMN IF NOT EXISTS tenant_id INTEGER DEFAULT 1;
|
||||
|
||||
-- 9. 修复reconstruction_task列缺失
|
||||
ALTER TABLE reconstruction_task ADD COLUMN IF NOT EXISTS create_by VARCHAR(64);
|
||||
ALTER TABLE reconstruction_task ADD COLUMN IF NOT EXISTS update_by VARCHAR(64);
|
||||
ALTER TABLE reconstruction_task ADD COLUMN IF NOT EXISTS update_time TIMESTAMP;
|
||||
|
||||
-- 10. 修复reconstruction_result列缺失
|
||||
ALTER TABLE reconstruction_result ADD COLUMN IF NOT EXISTS create_by VARCHAR(64);
|
||||
ALTER TABLE reconstruction_result ADD COLUMN IF NOT EXISTS update_by VARCHAR(64);
|
||||
ALTER TABLE reconstruction_result ADD COLUMN IF NOT EXISTS update_time TIMESTAMP;
|
||||
ALTER TABLE reconstruction_result ADD COLUMN IF NOT EXISTS tenant_id INTEGER DEFAULT 1;
|
||||
ALTER TABLE reconstruction_result ADD COLUMN IF NOT EXISTS delete_flag VARCHAR(1) DEFAULT '0';
|
||||
|
||||
-- 11. 修复reconstruction_report列缺失
|
||||
ALTER TABLE reconstruction_report ADD COLUMN IF NOT EXISTS create_by VARCHAR(64);
|
||||
ALTER TABLE reconstruction_report ADD COLUMN IF NOT EXISTS update_by VARCHAR(64);
|
||||
ALTER TABLE reconstruction_report ADD COLUMN IF NOT EXISTS update_time TIMESTAMP;
|
||||
@@ -1,7 +0,0 @@
|
||||
-- Fix: prescription_intercept_log missing HisBaseEntity columns
|
||||
ALTER TABLE prescription_intercept_log ADD COLUMN IF NOT EXISTS delete_flag VARCHAR(1) DEFAULT '0';
|
||||
ALTER TABLE prescription_intercept_log ADD COLUMN IF NOT EXISTS create_by VARCHAR(64) DEFAULT '';
|
||||
ALTER TABLE prescription_intercept_log ADD COLUMN IF NOT EXISTS create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
|
||||
ALTER TABLE prescription_intercept_log ADD COLUMN IF NOT EXISTS update_by VARCHAR(64) DEFAULT '';
|
||||
ALTER TABLE prescription_intercept_log ADD COLUMN IF NOT EXISTS update_time TIMESTAMP;
|
||||
ALTER TABLE prescription_intercept_log ADD COLUMN IF NOT EXISTS tenant_id BIGINT DEFAULT 1;
|
||||
@@ -1,5 +0,0 @@
|
||||
-- Fix Bug #748: clinical_pathway_execution 缺少 HisBaseEntity 列
|
||||
-- V43 迁移因版本号低于已执行的 V2026_0608 而被 Flyway 跳过,此处重新添加缺失列
|
||||
ALTER TABLE clinical_pathway_execution ADD COLUMN IF NOT EXISTS create_by VARCHAR(64) DEFAULT '';
|
||||
ALTER TABLE clinical_pathway_execution ADD COLUMN IF NOT EXISTS update_by VARCHAR(64) DEFAULT '';
|
||||
ALTER TABLE clinical_pathway_execution ADD COLUMN IF NOT EXISTS update_time TIMESTAMP;
|
||||
@@ -1,53 +0,0 @@
|
||||
-- V2026_0616_1: EMPI核心表 — empi_person + empi_person_id_mapping
|
||||
-- 补充 V20 中遗漏的两张EMPI核心表
|
||||
|
||||
-- 1. EMPI主索引表(全局患者主记录)
|
||||
CREATE TABLE IF NOT EXISTS empi_person (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
global_id VARCHAR(32) NOT NULL,
|
||||
id_card_no VARCHAR(20),
|
||||
patient_name VARCHAR(50),
|
||||
gender VARCHAR(10),
|
||||
birth_date DATE,
|
||||
phone VARCHAR(20),
|
||||
address TEXT,
|
||||
merge_status VARCHAR(20) NOT NULL DEFAULT 'ACTIVE',
|
||||
source_system VARCHAR(50),
|
||||
create_by VARCHAR(64),
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_by VARCHAR(64),
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
tenant_id INT DEFAULT 0,
|
||||
delete_flag VARCHAR(1) NOT NULL DEFAULT '0'
|
||||
);
|
||||
COMMENT ON TABLE empi_person IS 'EMPI患者主索引';
|
||||
COMMENT ON COLUMN empi_person.global_id IS '全局唯一患者ID';
|
||||
COMMENT ON COLUMN empi_person.merge_status IS '合并状态(ACTIVE/MERGED)';
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_ep_global ON empi_person(global_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_ep_idcard ON empi_person(id_card_no);
|
||||
CREATE INDEX IF NOT EXISTS idx_ep_name ON empi_person(patient_name);
|
||||
|
||||
-- 2. EMPI ID映射表(全局ID与院内系统患者ID的映射关系)
|
||||
CREATE TABLE IF NOT EXISTS empi_person_id_mapping (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
global_id VARCHAR(32) NOT NULL,
|
||||
local_patient_id BIGINT NOT NULL,
|
||||
source_system VARCHAR(50) NOT NULL,
|
||||
id_type VARCHAR(20) NOT NULL,
|
||||
id_value VARCHAR(100) NOT NULL,
|
||||
create_by VARCHAR(64),
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_by VARCHAR(64),
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
tenant_id INT DEFAULT 0,
|
||||
delete_flag VARCHAR(1) NOT NULL DEFAULT '0'
|
||||
);
|
||||
COMMENT ON TABLE empi_person_id_mapping IS 'EMPI患者ID映射表';
|
||||
COMMENT ON COLUMN empi_person_id_mapping.global_id IS 'EMPI全局患者ID';
|
||||
COMMENT ON COLUMN empi_person_id_mapping.local_patient_id IS '院内患者ID';
|
||||
COMMENT ON COLUMN empi_person_id_mapping.source_system IS '来源系统编码';
|
||||
COMMENT ON COLUMN empi_person_id_mapping.id_type IS '标识类型(MRN/INSURANCE/CARD等)';
|
||||
COMMENT ON COLUMN empi_person_id_mapping.id_value IS '标识值';
|
||||
CREATE INDEX IF NOT EXISTS idx_epim_global ON empi_person_id_mapping(global_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_epim_local ON empi_person_id_mapping(local_patient_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_epim_source ON empi_person_id_mapping(source_system);
|
||||
@@ -1 +0,0 @@
|
||||
ALTER TABLE empi_merge_log ADD COLUMN IF NOT EXISTS create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
|
||||
@@ -1,15 +0,0 @@
|
||||
-- Bug #684: 手术状态下拉框有重复
|
||||
-- 原因:sys_dict_data 中 surgery_status 类型存在重复记录(每个 dict_value 有3条)
|
||||
-- 修复:删除重复记录,每个 dict_value 只保留 dict_code 最小的一条
|
||||
|
||||
DELETE FROM sys_dict_data
|
||||
WHERE dict_code IN (
|
||||
SELECT dict_code
|
||||
FROM (
|
||||
SELECT dict_code,
|
||||
ROW_NUMBER() OVER (PARTITION BY dict_type, dict_value ORDER BY dict_code ASC) as rn
|
||||
FROM sys_dict_data
|
||||
WHERE dict_type = 'surgery_status'
|
||||
) t
|
||||
WHERE rn > 1
|
||||
);
|
||||
Reference in New Issue
Block a user