ry-seata.sql 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. DROP DATABASE IF EXISTS `ry-seata`;
  2. CREATE DATABASE `ry-seata` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
  3. SET NAMES utf8mb4;
  4. SET FOREIGN_KEY_CHECKS = 0;
  5. USE `ry-seata`;
  6. -- -------------------------------- The script used when storeMode is 'db' --------------------------------
  7. -- the table to store GlobalSession data
  8. CREATE TABLE IF NOT EXISTS `global_table`
  9. (
  10. `xid` VARCHAR(128) NOT NULL,
  11. `transaction_id` BIGINT,
  12. `status` TINYINT NOT NULL,
  13. `application_id` VARCHAR(32),
  14. `transaction_service_group` VARCHAR(32),
  15. `transaction_name` VARCHAR(128),
  16. `timeout` INT,
  17. `begin_time` BIGINT,
  18. `application_data` VARCHAR(2000),
  19. `gmt_create` DATETIME,
  20. `gmt_modified` DATETIME,
  21. PRIMARY KEY (`xid`),
  22. KEY `idx_gmt_modified_status` (`gmt_modified`, `status`),
  23. KEY `idx_transaction_id` (`transaction_id`)
  24. ) ENGINE = InnoDB
  25. DEFAULT CHARSET = utf8mb4;
  26. -- the table to store BranchSession data
  27. CREATE TABLE IF NOT EXISTS `branch_table`
  28. (
  29. `branch_id` BIGINT NOT NULL,
  30. `xid` VARCHAR(128) NOT NULL,
  31. `transaction_id` BIGINT,
  32. `resource_group_id` VARCHAR(32),
  33. `resource_id` VARCHAR(256),
  34. `branch_type` VARCHAR(8),
  35. `status` TINYINT,
  36. `client_id` VARCHAR(64),
  37. `application_data` VARCHAR(2000),
  38. `gmt_create` DATETIME(6),
  39. `gmt_modified` DATETIME(6),
  40. PRIMARY KEY (`branch_id`),
  41. KEY `idx_xid` (`xid`)
  42. ) ENGINE = InnoDB
  43. DEFAULT CHARSET = utf8mb4;
  44. -- the table to store lock data
  45. CREATE TABLE IF NOT EXISTS `lock_table`
  46. (
  47. `row_key` VARCHAR(128) NOT NULL,
  48. `xid` VARCHAR(128),
  49. `transaction_id` BIGINT,
  50. `branch_id` BIGINT NOT NULL,
  51. `resource_id` VARCHAR(256),
  52. `table_name` VARCHAR(32),
  53. `pk` VARCHAR(36),
  54. `status` TINYINT NOT NULL DEFAULT '0' COMMENT '0:locked ,1:rollbacking',
  55. `gmt_create` DATETIME,
  56. `gmt_modified` DATETIME,
  57. PRIMARY KEY (`row_key`),
  58. KEY `idx_status` (`status`),
  59. KEY `idx_branch_id` (`branch_id`)
  60. ) ENGINE = InnoDB
  61. DEFAULT CHARSET = utf8;
  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);