PayrollManagementSystem/db/migration/V20__tplus_automation.sql

26 lines
1.8 KiB
MySQL
Raw Normal View History

-- 自动采集状态;不自动应用业务或生成工资。
CREATE TABLE tplus_automation_states (
id BIGINT UNSIGNED NOT NULL COMMENT '主键ID' AUTO_INCREMENT,
source_key VARCHAR(64) NOT NULL COMMENT '源连接身份摘要(不含凭据)',
source_database VARCHAR(128) NOT NULL COMMENT '源账套',
scheduled_period VARCHAR(16) COMMENT '最近已排队ISO周',
root_batch_no VARCHAR(32) COMMENT '本周期原始采集批次',
current_batch_no VARCHAR(32) COMMENT '当前原始或重试批次',
retry_attempts INTEGER NOT NULL COMMENT '本周期自动重试次数' DEFAULT '0',
next_retry_at DATETIME COMMENT '下一次自动重试时间',
last_success_at DATETIME COMMENT '最近成功采集时间',
maintenance_at DATETIME COMMENT '最近周期检查时间',
heartbeat_at DATETIME COMMENT '独立进程心跳时间',
worker_owner VARCHAR(36) COMMENT '当前持锁进程身份',
worker_phase VARCHAR(16) NOT NULL COMMENT '进程状态:IDLE/RUNNING/STOPPED' DEFAULT '''STOPPED''',
create_time DATETIME NOT NULL COMMENT '创建时间' DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME NOT NULL COMMENT '更新时间' DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
CONSTRAINT pk_tplus_automation_states PRIMARY KEY (id),
CONSTRAINT uk_tplus_automation_states_source_key UNIQUE (source_key)
)ENGINE=InnoDB CHARSET=utf8mb4 COMMENT='T+自动采集周期与进程状态(不自动导入正式业务)' COLLATE utf8mb4_general_ci;
ALTER TABLE tplus_sync_batches ADD COLUMN trigger_type VARCHAR(16) NOT NULL DEFAULT 'MANUAL' COMMENT '触发来源:MANUAL/SCHEDULED/AUTO_RETRY';
ALTER TABLE tplus_sync_batches ADD COLUMN automatic_attempt INTEGER NOT NULL DEFAULT 0 COMMENT '自动重试序号(0为原始任务)';