yumi-golang/migrations/046_activity_idempotency.sql
2026-05-19 19:50:50 +08:00

19 lines
1.1 KiB
SQL

CREATE TABLE IF NOT EXISTS `activity_idempotency` (
`id` bigint NOT NULL COMMENT '主键ID',
`activity` varchar(64) NOT NULL COMMENT '活动标识',
`sys_origin` varchar(32) NOT NULL COMMENT '系统来源',
`user_id` bigint NOT NULL COMMENT '用户ID',
`idempotency_key` varchar(128) NOT NULL COMMENT '客户端幂等键',
`request_hash` varchar(64) NOT NULL COMMENT '请求参数hash',
`business_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务单号',
`status` varchar(32) NOT NULL DEFAULT 'PROCESSING' COMMENT 'PROCESSING/SUCCEEDED/FAILED',
`response_json` longtext COMMENT '成功响应快照',
`error_message` varchar(1024) NOT NULL DEFAULT '' COMMENT '失败原因',
`create_time` datetime(3) NOT NULL COMMENT '创建时间',
`update_time` datetime(3) NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_activity_idempotency_key` (`activity`, `sys_origin`, `user_id`, `idempotency_key`),
KEY `idx_activity_idempotency_business` (`business_no`),
KEY `idx_activity_idempotency_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='活动付费请求幂等表';