Files
msgexchange-v2/deploy/dev/mysql-init/01-mailbox.sql
T

67 lines
3.9 KiB
SQL
Raw Normal View History

-- =====================================================================
-- deploy/dev/mysql-init/01-mailbox.sql
-- 本地开发环境共享信箱 MySQL 初始化脚本(ACM2-13 / ACM2-12 口径)
--
-- 数据库:cdairport(他人系统库,本仓库生产不建表/不声明权威 schema;
-- 此处仅供本地 dev compose 容器初始化 CMINMSGS 与 COUTMSGS 供联调与轮询测试)。
-- 列定义与现役 legacy 实体(Cminmsg.java / Cmoutmsg.java)对齐。
-- =====================================================================
CREATE DATABASE IF NOT EXISTS `cdairport`
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
USE `cdairport`;
-- 入站信箱表(上游写报文原文,本系统 InboxPoller 1s 轮询读取并回填)
CREATE TABLE IF NOT EXISTS `CMINMSGS` (
`CMINMSGS_ID` BIGINT NOT NULL AUTO_INCREMENT COMMENT '自增消息序号',
`CMINMSGS_CLOB_MSG` LONGTEXT NOT NULL COMMENT '原始 XML 报文内容',
`CMINMSGS_DATE_RECEIVED` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '信箱入库时间',
`CMINMSGS_DATE_PROCESSED` DATETIME DEFAULT NULL COMMENT '处理完成时间(NULL 表示未处理)',
`CMINMSGS_STATUS` VARCHAR(32) DEFAULT NULL COMMENT '处理状态(如 PROCESSED/ERROR',
`CMINMSGS_SUBSYSTEM_TYPE` VARCHAR(32) DEFAULT NULL COMMENT '子系统类型',
`CMINMSGS_SUBSYSTEM_SUBTYPE` VARCHAR(32) DEFAULT NULL COMMENT '子系统子类型',
`CMINMSGS_SUBSYSTEM_NAME` VARCHAR(64) DEFAULT NULL COMMENT '子系统名称',
`CMINMSGS_SUBSYSTEM_SEQUENCE` BIGINT DEFAULT NULL COMMENT '子系统序列号',
`CMINMSGS_SUBSYSTEM_DATE_SENT` DATETIME DEFAULT NULL COMMENT '子系统发送时间',
PRIMARY KEY (`CMINMSGS_ID`),
INDEX `idx_cminmsgs_poll` (`CMINMSGS_ID`, `CMINMSGS_DATE_PROCESSED`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='[DEV ONLY] 共享入站信箱表';
-- 历史归档表(ARCHIVE 任务将 1 天前的已处理信件归档至此)
CREATE TABLE IF NOT EXISTS `CMINMSGS_HST` (
`CMINMSGS_ID` BIGINT NOT NULL,
`CMINMSGS_CLOB_MSG` LONGTEXT NOT NULL,
`CMINMSGS_DATE_RECEIVED` DATETIME NOT NULL,
`CMINMSGS_DATE_PROCESSED` DATETIME DEFAULT NULL,
`CMINMSGS_STATUS` VARCHAR(32) DEFAULT NULL,
`CMINMSGS_SUBSYSTEM_TYPE` VARCHAR(32) DEFAULT NULL,
`CMINMSGS_SUBSYSTEM_SUBTYPE` VARCHAR(32) DEFAULT NULL,
`CMINMSGS_SUBSYSTEM_NAME` VARCHAR(64) DEFAULT NULL,
`CMINMSGS_SUBSYSTEM_SEQUENCE` BIGINT DEFAULT NULL,
`CMINMSGS_SUBSYSTEM_DATE_SENT` DATETIME DEFAULT NULL,
PRIMARY KEY (`CMINMSGS_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='[DEV ONLY] 共享入站信箱历史归档表';
-- 出站信箱表(本系统请求类或通知类报文写入,供他人读取发送)
CREATE TABLE IF NOT EXISTS `COUTMSGS` (
`COUTMSGS_ID` BIGINT NOT NULL AUTO_INCREMENT COMMENT '自增出站序号',
`COUTMSGS_CLOB_MSG` LONGTEXT NOT NULL COMMENT '原始 XML 出站报文',
`COUTMSGS_DATE_INSERTED` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '插入时间',
`COUTMSGS_DATE_SENT` DATETIME DEFAULT NULL COMMENT '发送时间',
`ROUTINGID` VARCHAR(64) DEFAULT NULL COMMENT '路由标识(如 OSH5RQFD',
`COUTMSGS_ACK_REQD` VARCHAR(8) DEFAULT NULL COMMENT '是否需要 ACK',
`COUTMSGS_ACK_DATE_RECV` DATETIME DEFAULT NULL COMMENT '收到 ACK 时间',
`COUTMSGS_ACK_RESEND_TIMES` INT DEFAULT 0 COMMENT '重发次数',
`COUTMSGS_ERROR` VARCHAR(255) DEFAULT NULL COMMENT '错误信息',
`COUTMSGS_GROUP_ID` VARCHAR(64) DEFAULT NULL COMMENT '分组 ID',
`COUTMSGS_GROUP_ORDER` INT DEFAULT NULL COMMENT '组内顺序',
`COUTMSGS_NO_MESSAGES` INT DEFAULT NULL COMMENT '组内消息数',
`COUTMSGS_FINAL_GROUP_IND` VARCHAR(8) DEFAULT NULL COMMENT '最终组标记',
`COUTMSGS_TRUEFALS_GROUP` VARCHAR(8) DEFAULT NULL COMMENT '分组布尔标记',
`COUTMSGS_ENCRYPT` VARCHAR(8) DEFAULT NULL COMMENT '加密标记',
PRIMARY KEY (`COUTMSGS_ID`),
INDEX `idx_coutmsgs_sent` (`COUTMSGS_DATE_SENT`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='[DEV ONLY] 共享出站信箱表';