| -- -------------------------------- The script used when storeMode is 'db' -------------------------------- |
| |
| CREATE database if NOT EXISTS `seata` default character set utf8mb4 collate utf8mb4_unicode_ci; |
| USE `seata`; |
| |
| SET NAMES utf8mb4; |
| SET FOREIGN_KEY_CHECKS = 0; |
| -- the table to store GlobalSession data |
| CREATE TABLE IF NOT EXISTS `global_table` |
| ( |
| `xid` VARCHAR(128) NOT NULL, |
| `transaction_id` BIGINT, |
| `status` TINYINT NOT NULL, |
| `application_id` VARCHAR(32), |
| `transaction_service_group` VARCHAR(32), |
| `transaction_name` VARCHAR(128), |
| `timeout` INT, |
| `begin_time` BIGINT, |
| `application_data` VARCHAR(2000), |
| `gmt_create` DATETIME, |
| `gmt_modified` DATETIME, |
| PRIMARY KEY (`xid`), |
| KEY `idx_gmt_modified_status` (`gmt_modified`, `status`), |
| KEY `idx_transaction_id` (`transaction_id`) |
| ) ENGINE = InnoDB |
| DEFAULT CHARSET = utf8; |
| |
| -- the table to store BranchSession data |
| CREATE TABLE IF NOT EXISTS `branch_table` |
| ( |
| `branch_id` BIGINT NOT NULL, |
| `xid` VARCHAR(128) NOT NULL, |
| `transaction_id` BIGINT, |
| `resource_group_id` VARCHAR(32), |
| `resource_id` VARCHAR(256), |
| `branch_type` VARCHAR(8), |
| `status` TINYINT, |
| `client_id` VARCHAR(64), |
| `application_data` VARCHAR(2000), |
| `gmt_create` DATETIME(6), |
| `gmt_modified` DATETIME(6), |
| PRIMARY KEY (`branch_id`), |
| KEY `idx_xid` (`xid`) |
| ) ENGINE = InnoDB |
| DEFAULT CHARSET = utf8; |
| |
| -- the table to store lock data |
| CREATE TABLE IF NOT EXISTS `lock_table` |
| ( |
| `row_key` VARCHAR(128) NOT NULL, |
| `xid` VARCHAR(96), |
| `transaction_id` BIGINT, |
| `branch_id` BIGINT NOT NULL, |
| `resource_id` VARCHAR(256), |
| `table_name` VARCHAR(32), |
| `pk` VARCHAR(36), |
| `gmt_create` DATETIME, |
| `gmt_modified` DATETIME, |
| PRIMARY KEY (`row_key`), |
| KEY `idx_branch_id` (`branch_id`) |
| ) ENGINE = InnoDB |
| DEFAULT CHARSET = utf8; |