-- =====================================================
|
-- 档案管理模块 - 来源模块增量脚本(跨模块改表)
|
--
|
-- 背景:档案模块支持「课题申报书 / 会员 / 财务报销单」按来源单据手动归档。
|
-- 三张来源表各加一列 `archive_document_id`(指向 archive_document.id):
|
-- ① 作为「已归档」的硬标记,列表页据此显示已归档并跳转档案;
|
-- ② 归档重复校验的兜底(archive_document 侧另有 source_type+source_id 唯一性校验)。
|
-- 列可空,不影响既有业务数据。
|
--
|
-- 执行库:脚本用 DATABASE() 判定,与库名无关,故可对任意目标库执行。
|
-- 2026-09-29 已在 application-local.yaml 指向的 mom-jssm 执行并核对通过;
|
-- 其余环境(dev/test 指向 ruoyi-vue-pro,yzfx/wtxc/zsjc/chdl/kyzn 指向各自 mom-* 库)按需另跑。
|
-- 本脚本幂等,可连续重复执行。
|
-- 前置:需先执行 archive_module.sql 建 `archive_document` 表。
|
-- 注意:本脚本不含 tenant_id(项目不使用多租户模式);ALTER TABLE ADD COLUMN 不支持
|
-- IF NOT EXISTS,统一用 information_schema 存在性守卫。
|
-- =====================================================
|
|
-- ----- 1. research_application 新增 archive_document_id -----
|
SET @c = (SELECT COUNT(*) FROM information_schema.columns
|
WHERE table_schema = DATABASE() AND table_name = 'research_application' AND column_name = 'archive_document_id');
|
SET @sql = IF(@c = 0,
|
'ALTER TABLE research_application ADD COLUMN archive_document_id bigint DEFAULT NULL COMMENT ''归档生成的档案 ID(archive_document.id,归档联动回写)'' AFTER notice_id',
|
'SELECT 1');
|
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
|
-- ----- 2. ums_member 新增 archive_document_id -----
|
SET @c = (SELECT COUNT(*) FROM information_schema.columns
|
WHERE table_schema = DATABASE() AND table_name = 'ums_member' AND column_name = 'archive_document_id');
|
SET @sql = IF(@c = 0,
|
'ALTER TABLE ums_member ADD COLUMN archive_document_id bigint DEFAULT NULL COMMENT ''归档生成的档案 ID(archive_document.id,归档联动回写)'' AFTER status',
|
'SELECT 1');
|
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
|
-- ----- 3. finance_reimbursement 新增 archive_document_id -----
|
SET @c = (SELECT COUNT(*) FROM information_schema.columns
|
WHERE table_schema = DATABASE() AND table_name = 'finance_reimbursement' AND column_name = 'archive_document_id');
|
SET @sql = IF(@c = 0,
|
'ALTER TABLE finance_reimbursement ADD COLUMN archive_document_id bigint DEFAULT NULL COMMENT ''归档生成的档案 ID(archive_document.id,归档联动回写)'' AFTER archive_time',
|
'SELECT 1');
|
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|