38 lines
1.5 KiB
SQL
38 lines
1.5 KiB
SQL
-- =========================================
|
||
-- Undo Log表 - AT模式自动补偿事务必需
|
||
-- =========================================
|
||
-- 必须在每个业务数据库中创建此表
|
||
-- Seata AT模式通过undo_log表记录数据变更前后镜像,用于回滚
|
||
|
||
-- MySQL 8.0 版本
|
||
CREATE TABLE IF NOT EXISTS `undo_log` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT,
|
||
`branch_id` BIGINT NOT NULL,
|
||
`xid` VARCHAR(128) NOT NULL,
|
||
`context` VARCHAR(128) NOT NULL,
|
||
`rollback_info` LONGBLOB NOT NULL,
|
||
`log_status` INT NOT NULL,
|
||
`log_created` DATETIME NOT NULL,
|
||
`log_modified` DATETIME NOT NULL,
|
||
`ext` VARCHAR(100) DEFAULT NULL,
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`),
|
||
KEY `ix_log_created` (`log_created`)
|
||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='AT模式undo_log回滚日志表';
|
||
|
||
-- MySQL 5.7 版本(如果使用)
|
||
-- CREATE TABLE IF NOT EXISTS `undo_log` (
|
||
-- `id` BIGINT NOT NULL AUTO_INCREMENT,
|
||
-- `branch_id` BIGINT NOT NULL,
|
||
-- `xid` VARCHAR(128) NOT NULL,
|
||
-- `context` VARCHAR(128) NOT NULL,
|
||
-- `rollback_info` LONGBLOB NOT NULL,
|
||
-- `log_status` INT NOT NULL,
|
||
-- `log_created` DATETIME NOT NULL,
|
||
-- `log_modified` DATETIME NOT NULL,
|
||
-- `ext` VARCHAR(100) DEFAULT NULL,
|
||
-- PRIMARY KEY (`id`),
|
||
-- UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`),
|
||
-- KEY `ix_log_created` (`log_created`)
|
||
-- ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='AT模式undo_log回滚日志表';
|