seata.sql 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. -- -------------------------------- The script used when storeMode is 'db' --------------------------------
  2. -- the table to store GlobalSession data
  3. DROP TABLE IF EXISTS `global_table`;
  4. CREATE TABLE IF NOT EXISTS `global_table`
  5. (
  6. `xid` VARCHAR(128) NOT NULL,
  7. `transaction_id` BIGINT,
  8. `status` TINYINT NOT NULL,
  9. `application_id` VARCHAR(32),
  10. `transaction_service_group` VARCHAR(32),
  11. `transaction_name` VARCHAR(128),
  12. `timeout` INT,
  13. `begin_time` BIGINT,
  14. `application_data` VARCHAR(2000),
  15. `gmt_create` DATETIME,
  16. `gmt_modified` DATETIME,
  17. PRIMARY KEY (`xid`),
  18. KEY `idx_status_gmt_modified` (`status` , `gmt_modified`),
  19. KEY `idx_transaction_id` (`transaction_id`)
  20. ) ENGINE = InnoDB
  21. DEFAULT CHARSET = utf8mb4;
  22. -- the table to store BranchSession data
  23. DROP TABLE IF EXISTS `branch_table`;
  24. CREATE TABLE IF NOT EXISTS `branch_table`
  25. (
  26. `branch_id` BIGINT NOT NULL,
  27. `xid` VARCHAR(128) NOT NULL,
  28. `transaction_id` BIGINT,
  29. `resource_group_id` VARCHAR(32),
  30. `resource_id` VARCHAR(256),
  31. `branch_type` VARCHAR(8),
  32. `status` TINYINT,
  33. `client_id` VARCHAR(64),
  34. `application_data` VARCHAR(2000),
  35. `gmt_create` DATETIME(6),
  36. `gmt_modified` DATETIME(6),
  37. PRIMARY KEY (`branch_id`),
  38. KEY `idx_xid` (`xid`)
  39. ) ENGINE = InnoDB
  40. DEFAULT CHARSET = utf8mb4;
  41. -- the table to store lock data
  42. DROP TABLE IF EXISTS `lock_table`;
  43. CREATE TABLE IF NOT EXISTS `lock_table`
  44. (
  45. `row_key` VARCHAR(128) NOT NULL,
  46. `xid` VARCHAR(128),
  47. `transaction_id` BIGINT,
  48. `branch_id` BIGINT NOT NULL,
  49. `resource_id` VARCHAR(256),
  50. `table_name` VARCHAR(32),
  51. `pk` VARCHAR(36),
  52. `status` TINYINT NOT NULL DEFAULT '0' COMMENT '0:locked ,1:rollbacking',
  53. `gmt_create` DATETIME,
  54. `gmt_modified` DATETIME,
  55. PRIMARY KEY (`row_key`),
  56. KEY `idx_status` (`status`),
  57. KEY `idx_branch_id` (`branch_id`),
  58. KEY `idx_xid` (`xid`)
  59. ) ENGINE = InnoDB
  60. DEFAULT CHARSET = utf8mb4;
  61. DROP TABLE IF EXISTS `distributed_lock`;
  62. CREATE TABLE IF NOT EXISTS `distributed_lock`
  63. (
  64. `lock_key` CHAR(20) NOT NULL,
  65. `lock_value` VARCHAR(20) NOT NULL,
  66. `expire` BIGINT,
  67. primary key (`lock_key`)
  68. ) ENGINE = InnoDB
  69. DEFAULT CHARSET = utf8mb4;
  70. INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('AsyncCommitting', ' ', 0);
  71. INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryCommitting', ' ', 0);
  72. INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryRollbacking', ' ', 0);
  73. INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('TxTimeoutCheck', ' ', 0);