jnpf_nacos_dm.sql 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411
  1. -- ----------------------------
  2. -- 表名:config_info
  3. -- ----------------------------
  4. CREATE TABLE config_info(
  5. "ID" BIGINT IDENTITY(1, 1) PRIMARY KEY,
  6. "DATA_ID" VARCHAR(765) NOT NULL,
  7. "GROUP_ID" VARCHAR(384),
  8. "CONTENT" CLOB NOT NULL,
  9. "MD5" VARCHAR(96),
  10. "GMT_CREATE" DATETIME NOT NULL DEFAULT '2010-05-05 00:00:00',
  11. "GMT_MODIFIED" DATETIME NOT NULL DEFAULT '2010-05-05 00:00:00',
  12. "SRC_USER" CLOB,
  13. "SRC_IP" VARCHAR(60),
  14. "APP_NAME" VARCHAR(384),
  15. "TENANT_ID" VARCHAR(384) DEFAULT '',
  16. "C_DESC" VARCHAR(768),
  17. "C_USE" VARCHAR(192),
  18. "EFFECT" VARCHAR(192),
  19. "TYPE" VARCHAR(192),
  20. "C_SCHEMA" CLOB,
  21. "ENCRYPTED_DATA_KEY" CLOB NOT NULL
  22. );
  23. COMMENT ON TABLE config_info IS 'config_info';
  24. COMMENT ON COLUMN config_info."ID" IS 'id';
  25. COMMENT ON COLUMN config_info."DATA_ID" IS 'data_id';
  26. COMMENT ON COLUMN config_info."GROUP_ID" IS '';
  27. COMMENT ON COLUMN config_info."CONTENT" IS 'content';
  28. COMMENT ON COLUMN config_info."MD5" IS 'md5';
  29. COMMENT ON COLUMN config_info."GMT_CREATE" IS '创建时间';
  30. COMMENT ON COLUMN config_info."GMT_MODIFIED" IS '修改时间';
  31. COMMENT ON COLUMN config_info."SRC_USER" IS 'source user';
  32. COMMENT ON COLUMN config_info."SRC_IP" IS 'source ip';
  33. COMMENT ON COLUMN config_info."APP_NAME" IS '';
  34. COMMENT ON COLUMN config_info."TENANT_ID" IS '租户字段';
  35. COMMENT ON COLUMN config_info."C_DESC" IS '';
  36. COMMENT ON COLUMN config_info."C_USE" IS '';
  37. COMMENT ON COLUMN config_info."EFFECT" IS '';
  38. COMMENT ON COLUMN config_info."TYPE" IS '';
  39. COMMENT ON COLUMN config_info."C_SCHEMA" IS '';
  40. COMMENT ON COLUMN config_info."ENCRYPTED_DATA_KEY" IS '秘钥';
  41. SET IDENTITY_INSERT config_info ON;
  42. -- ----------------------------
  43. -- 表名:config_info
  44. -- ----------------------------
  45. -- ----------------------------
  46. -- 表名:branch_table
  47. -- ----------------------------
  48. -- ----------------------------
  49. -- 表名:config_info
  50. -- ----------------------------
  51. -- ----------------------------
  52. -- 表名:config_info_aggr
  53. -- ----------------------------
  54. CREATE TABLE config_info_aggr(
  55. "ID" BIGINT IDENTITY(1, 1) PRIMARY KEY,
  56. "DATA_ID" VARCHAR(765) NOT NULL,
  57. "GROUP_ID" VARCHAR(384) NOT NULL,
  58. "DATUM_ID" VARCHAR(765) NOT NULL,
  59. "CONTENT" CLOB NOT NULL,
  60. "GMT_MODIFIED" DATETIME NOT NULL,
  61. "APP_NAME" VARCHAR(384),
  62. "TENANT_ID" VARCHAR(384) DEFAULT ''
  63. );
  64. COMMENT ON TABLE config_info_aggr IS '增加租户字段';
  65. COMMENT ON COLUMN config_info_aggr."ID" IS 'id';
  66. COMMENT ON COLUMN config_info_aggr."DATA_ID" IS 'data_id';
  67. COMMENT ON COLUMN config_info_aggr."GROUP_ID" IS 'group_id';
  68. COMMENT ON COLUMN config_info_aggr."DATUM_ID" IS 'datum_id';
  69. COMMENT ON COLUMN config_info_aggr."CONTENT" IS '内容';
  70. COMMENT ON COLUMN config_info_aggr."GMT_MODIFIED" IS '修改时间';
  71. COMMENT ON COLUMN config_info_aggr."APP_NAME" IS '';
  72. COMMENT ON COLUMN config_info_aggr."TENANT_ID" IS '租户字段';
  73. SET IDENTITY_INSERT config_info_aggr ON;
  74. -- ----------------------------
  75. -- 表名:config_info_beta
  76. -- ----------------------------
  77. CREATE TABLE config_info_beta(
  78. "ID" BIGINT IDENTITY(1, 1) PRIMARY KEY,
  79. "DATA_ID" VARCHAR(765) NOT NULL,
  80. "GROUP_ID" VARCHAR(384) NOT NULL,
  81. "APP_NAME" VARCHAR(384),
  82. "CONTENT" CLOB NOT NULL,
  83. "BETA_IPS" VARCHAR(3072),
  84. "MD5" VARCHAR(96),
  85. "GMT_CREATE" DATETIME NOT NULL DEFAULT '2010-05-05 00:00:00',
  86. "GMT_MODIFIED" DATETIME NOT NULL DEFAULT '2010-05-05 00:00:00',
  87. "SRC_USER" CLOB,
  88. "SRC_IP" VARCHAR(60),
  89. "TENANT_ID" VARCHAR(384) DEFAULT '',
  90. "ENCRYPTED_DATA_KEY" CLOB NOT NULL
  91. );
  92. COMMENT ON TABLE config_info_beta IS 'config_info_beta';
  93. COMMENT ON COLUMN config_info_beta."ID" IS 'id';
  94. COMMENT ON COLUMN config_info_beta."DATA_ID" IS 'data_id';
  95. COMMENT ON COLUMN config_info_beta."GROUP_ID" IS 'group_id';
  96. COMMENT ON COLUMN config_info_beta."APP_NAME" IS 'app_name';
  97. COMMENT ON COLUMN config_info_beta."CONTENT" IS 'content';
  98. COMMENT ON COLUMN config_info_beta."BETA_IPS" IS 'betaIps';
  99. COMMENT ON COLUMN config_info_beta."MD5" IS 'md5';
  100. COMMENT ON COLUMN config_info_beta."GMT_CREATE" IS '创建时间';
  101. COMMENT ON COLUMN config_info_beta."GMT_MODIFIED" IS '修改时间';
  102. COMMENT ON COLUMN config_info_beta."SRC_USER" IS 'source user';
  103. COMMENT ON COLUMN config_info_beta."SRC_IP" IS 'source ip';
  104. COMMENT ON COLUMN config_info_beta."TENANT_ID" IS '租户字段';
  105. COMMENT ON COLUMN config_info_beta."ENCRYPTED_DATA_KEY" IS '秘钥';
  106. SET IDENTITY_INSERT config_info_beta ON;
  107. -- ----------------------------
  108. -- 表名:config_info_tag
  109. -- ----------------------------
  110. CREATE TABLE config_info_tag(
  111. "ID" BIGINT IDENTITY(1, 1) PRIMARY KEY,
  112. "DATA_ID" VARCHAR(765) NOT NULL,
  113. "GROUP_ID" VARCHAR(384) NOT NULL,
  114. "TENANT_ID" VARCHAR(384) DEFAULT '',
  115. "TAG_ID" VARCHAR(384) NOT NULL,
  116. "APP_NAME" VARCHAR(384),
  117. "CONTENT" CLOB NOT NULL,
  118. "MD5" VARCHAR(96),
  119. "GMT_CREATE" DATETIME NOT NULL DEFAULT '2010-05-05 00:00:00',
  120. "GMT_MODIFIED" DATETIME NOT NULL DEFAULT '2010-05-05 00:00:00',
  121. "SRC_USER" CLOB,
  122. "SRC_IP" VARCHAR(60)
  123. );
  124. COMMENT ON TABLE config_info_tag IS 'config_info_tag';
  125. COMMENT ON COLUMN config_info_tag."ID" IS 'id';
  126. COMMENT ON COLUMN config_info_tag."DATA_ID" IS 'data_id';
  127. COMMENT ON COLUMN config_info_tag."GROUP_ID" IS 'group_id';
  128. COMMENT ON COLUMN config_info_tag."TENANT_ID" IS 'tenant_id';
  129. COMMENT ON COLUMN config_info_tag."TAG_ID" IS 'tag_id';
  130. COMMENT ON COLUMN config_info_tag."APP_NAME" IS 'app_name';
  131. COMMENT ON COLUMN config_info_tag."CONTENT" IS 'content';
  132. COMMENT ON COLUMN config_info_tag."MD5" IS 'md5';
  133. COMMENT ON COLUMN config_info_tag."GMT_CREATE" IS '创建时间';
  134. COMMENT ON COLUMN config_info_tag."GMT_MODIFIED" IS '修改时间';
  135. COMMENT ON COLUMN config_info_tag."SRC_USER" IS 'source user';
  136. COMMENT ON COLUMN config_info_tag."SRC_IP" IS 'source ip';
  137. SET IDENTITY_INSERT config_info_tag ON;
  138. -- ----------------------------
  139. -- 表名:config_tags_relation
  140. -- ----------------------------
  141. CREATE TABLE config_tags_relation(
  142. "ID" BIGINT NOT NULL,
  143. "TAG_NAME" VARCHAR(384) NOT NULL,
  144. "TAG_TYPE" VARCHAR(192),
  145. "DATA_ID" VARCHAR(765) NOT NULL,
  146. "GROUP_ID" VARCHAR(384) NOT NULL,
  147. "TENANT_ID" VARCHAR(384) DEFAULT '',
  148. "NID" BIGINT IDENTITY(1, 1) PRIMARY KEY
  149. );
  150. COMMENT ON TABLE config_tags_relation IS 'config_tag_relation';
  151. COMMENT ON COLUMN config_tags_relation."ID" IS 'id';
  152. COMMENT ON COLUMN config_tags_relation."TAG_NAME" IS 'tag_name';
  153. COMMENT ON COLUMN config_tags_relation."TAG_TYPE" IS 'tag_type';
  154. COMMENT ON COLUMN config_tags_relation."DATA_ID" IS 'data_id';
  155. COMMENT ON COLUMN config_tags_relation."GROUP_ID" IS 'group_id';
  156. COMMENT ON COLUMN config_tags_relation."TENANT_ID" IS 'tenant_id';
  157. COMMENT ON COLUMN config_tags_relation."NID" IS '';
  158. SET IDENTITY_INSERT config_tags_relation ON;
  159. -- ----------------------------
  160. -- 表名:group_capacity
  161. -- ----------------------------
  162. CREATE TABLE group_capacity(
  163. "ID" BIGINT IDENTITY(1, 1) PRIMARY KEY,
  164. "GROUP_ID" VARCHAR(384) NOT NULL DEFAULT '',
  165. "QUOTA" INT NOT NULL DEFAULT '0',
  166. "USAGE" INT NOT NULL DEFAULT '0',
  167. "MAX_SIZE" INT NOT NULL DEFAULT '0',
  168. "MAX_AGGR_COUNT" INT NOT NULL DEFAULT '0',
  169. "MAX_AGGR_SIZE" INT NOT NULL DEFAULT '0',
  170. "MAX_HISTORY_COUNT" INT NOT NULL DEFAULT '0',
  171. "GMT_CREATE" DATETIME NOT NULL DEFAULT '2010-05-05 00:00:00',
  172. "GMT_MODIFIED" DATETIME NOT NULL DEFAULT '2010-05-05 00:00:00'
  173. );
  174. COMMENT ON TABLE group_capacity IS '集群、各Group容量信息表';
  175. COMMENT ON COLUMN group_capacity."ID" IS '主键ID';
  176. COMMENT ON COLUMN group_capacity."GROUP_ID" IS 'Group ID,空字符表示整个集群';
  177. COMMENT ON COLUMN group_capacity."QUOTA" IS '配额,0表示使用默认值';
  178. COMMENT ON COLUMN group_capacity."USAGE" IS '使用量';
  179. COMMENT ON COLUMN group_capacity."MAX_SIZE" IS '单个配置大小上限,单位为字节,0表示使用默认值';
  180. COMMENT ON COLUMN group_capacity."MAX_AGGR_COUNT" IS '聚合子配置最大个数,,0表示使用默认值';
  181. COMMENT ON COLUMN group_capacity."MAX_AGGR_SIZE" IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值';
  182. COMMENT ON COLUMN group_capacity."MAX_HISTORY_COUNT" IS '最大变更历史数量';
  183. COMMENT ON COLUMN group_capacity."GMT_CREATE" IS '创建时间';
  184. COMMENT ON COLUMN group_capacity."GMT_MODIFIED" IS '修改时间';
  185. SET IDENTITY_INSERT group_capacity ON;
  186. -- ----------------------------
  187. -- 表名:his_config_info
  188. -- ----------------------------
  189. CREATE TABLE his_config_info(
  190. "ID" BIGINT NOT NULL,
  191. "NID" BIGINT IDENTITY(1, 1) PRIMARY KEY,
  192. "DATA_ID" VARCHAR(765) NOT NULL,
  193. "GROUP_ID" VARCHAR(384) NOT NULL,
  194. "APP_NAME" VARCHAR(384),
  195. "CONTENT" CLOB NOT NULL,
  196. "MD5" VARCHAR(96),
  197. "GMT_CREATE" DATETIME NOT NULL DEFAULT '2010-05-05 00:00:00',
  198. "GMT_MODIFIED" DATETIME NOT NULL DEFAULT '2010-05-05 00:00:00',
  199. "SRC_USER" CLOB,
  200. "SRC_IP" VARCHAR(60),
  201. "OP_TYPE" CHAR(10),
  202. "TENANT_ID" VARCHAR(384) DEFAULT '',
  203. "ENCRYPTED_DATA_KEY" CLOB NOT NULL
  204. );
  205. COMMENT ON TABLE his_config_info IS '多租户改造';
  206. COMMENT ON COLUMN his_config_info."ID" IS '';
  207. COMMENT ON COLUMN his_config_info."NID" IS '';
  208. COMMENT ON COLUMN his_config_info."DATA_ID" IS '';
  209. COMMENT ON COLUMN his_config_info."GROUP_ID" IS '';
  210. COMMENT ON COLUMN his_config_info."APP_NAME" IS 'app_name';
  211. COMMENT ON COLUMN his_config_info."CONTENT" IS '';
  212. COMMENT ON COLUMN his_config_info."MD5" IS '';
  213. COMMENT ON COLUMN his_config_info."GMT_CREATE" IS '';
  214. COMMENT ON COLUMN his_config_info."GMT_MODIFIED" IS '';
  215. COMMENT ON COLUMN his_config_info."SRC_USER" IS '';
  216. COMMENT ON COLUMN his_config_info."SRC_IP" IS '';
  217. COMMENT ON COLUMN his_config_info."OP_TYPE" IS '';
  218. COMMENT ON COLUMN his_config_info."TENANT_ID" IS '租户字段';
  219. COMMENT ON COLUMN his_config_info."ENCRYPTED_DATA_KEY" IS '秘钥';
  220. SET IDENTITY_INSERT his_config_info ON;
  221. -- ----------------------------
  222. -- 表名:permissions
  223. -- ----------------------------
  224. CREATE TABLE permissions(
  225. "ROLE" VARCHAR(150) NOT NULL,
  226. "RESOURCE" VARCHAR(1536) NOT NULL,
  227. "ACTION" VARCHAR(24) NOT NULL
  228. );
  229. COMMENT ON TABLE permissions IS '';
  230. COMMENT ON COLUMN permissions."ROLE" IS '';
  231. COMMENT ON COLUMN permissions."RESOURCE" IS '';
  232. COMMENT ON COLUMN permissions."ACTION" IS '';
  233. -- ----------------------------
  234. -- 表名:roles
  235. -- ----------------------------
  236. CREATE TABLE roles(
  237. "USERNAME" VARCHAR(150) NOT NULL,
  238. "ROLE" VARCHAR(150) NOT NULL
  239. );
  240. COMMENT ON TABLE roles IS '';
  241. COMMENT ON COLUMN roles."USERNAME" IS '';
  242. COMMENT ON COLUMN roles."ROLE" IS '';
  243. DELETE FROM roles;
  244. INSERT INTO roles ("ROLE","USERNAME") VALUES ('ROLE_ADMIN','nacos');
  245. -- ----------------------------
  246. -- 表名:tenant_capacity
  247. -- ----------------------------
  248. CREATE TABLE tenant_capacity(
  249. "ID" BIGINT IDENTITY(1, 1) PRIMARY KEY,
  250. "TENANT_ID" VARCHAR(384) NOT NULL DEFAULT '',
  251. "QUOTA" INT NOT NULL DEFAULT '0',
  252. "USAGE" INT NOT NULL DEFAULT '0',
  253. "MAX_SIZE" INT NOT NULL DEFAULT '0',
  254. "MAX_AGGR_COUNT" INT NOT NULL DEFAULT '0',
  255. "MAX_AGGR_SIZE" INT NOT NULL DEFAULT '0',
  256. "MAX_HISTORY_COUNT" INT NOT NULL DEFAULT '0',
  257. "GMT_CREATE" DATETIME NOT NULL DEFAULT '2010-05-05 00:00:00',
  258. "GMT_MODIFIED" DATETIME NOT NULL DEFAULT '2010-05-05 00:00:00'
  259. );
  260. COMMENT ON TABLE tenant_capacity IS '租户容量信息表';
  261. COMMENT ON COLUMN tenant_capacity."ID" IS '主键ID';
  262. COMMENT ON COLUMN tenant_capacity."TENANT_ID" IS 'Tenant ID';
  263. COMMENT ON COLUMN tenant_capacity."QUOTA" IS '配额,0表示使用默认值';
  264. COMMENT ON COLUMN tenant_capacity."USAGE" IS '使用量';
  265. COMMENT ON COLUMN tenant_capacity."MAX_SIZE" IS '单个配置大小上限,单位为字节,0表示使用默认值';
  266. COMMENT ON COLUMN tenant_capacity."MAX_AGGR_COUNT" IS '聚合子配置最大个数';
  267. COMMENT ON COLUMN tenant_capacity."MAX_AGGR_SIZE" IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值';
  268. COMMENT ON COLUMN tenant_capacity."MAX_HISTORY_COUNT" IS '最大变更历史数量';
  269. COMMENT ON COLUMN tenant_capacity."GMT_CREATE" IS '创建时间';
  270. COMMENT ON COLUMN tenant_capacity."GMT_MODIFIED" IS '修改时间';
  271. SET IDENTITY_INSERT tenant_capacity ON;
  272. -- ----------------------------
  273. -- 表名:tenant_info
  274. -- ----------------------------
  275. CREATE TABLE tenant_info(
  276. "ID" BIGINT IDENTITY(1, 1) PRIMARY KEY,
  277. "KP" VARCHAR(384) NOT NULL,
  278. "TENANT_ID" VARCHAR(384) DEFAULT '',
  279. "TENANT_NAME" VARCHAR(384) DEFAULT '',
  280. "TENANT_DESC" VARCHAR(768),
  281. "CREATE_SOURCE" VARCHAR(96),
  282. "GMT_CREATE" BIGINT NOT NULL,
  283. "GMT_MODIFIED" BIGINT NOT NULL
  284. );
  285. COMMENT ON TABLE tenant_info IS 'tenant_info';
  286. COMMENT ON COLUMN tenant_info."ID" IS 'id';
  287. COMMENT ON COLUMN tenant_info."KP" IS 'kp';
  288. COMMENT ON COLUMN tenant_info."TENANT_ID" IS 'tenant_id';
  289. COMMENT ON COLUMN tenant_info."TENANT_NAME" IS 'tenant_name';
  290. COMMENT ON COLUMN tenant_info."TENANT_DESC" IS 'tenant_desc';
  291. COMMENT ON COLUMN tenant_info."CREATE_SOURCE" IS 'create_source';
  292. COMMENT ON COLUMN tenant_info."GMT_CREATE" IS '创建时间';
  293. COMMENT ON COLUMN tenant_info."GMT_MODIFIED" IS '修改时间';
  294. SET IDENTITY_INSERT tenant_info ON;
  295. INSERT INTO tenant_info ("TENANT_DESC","GMT_CREATE","KP","TENANT_NAME","GMT_MODIFIED","TENANT_ID","CREATE_SOURCE","ID") VALUES ('开发环境',1683377008569,'1','develop',1683377008569,'69c4eecb-05bd-4041-81fe-1473f95f578c','nacos',1);
  296. INSERT INTO tenant_info ("TENANT_DESC","GMT_CREATE","KP","TENANT_NAME","GMT_MODIFIED","TENANT_ID","CREATE_SOURCE","ID") VALUES ('测试环境',1683377016283,'1','staging',1683377016283,'1e017954-eb52-4d21-a843-0286d9013cf3','nacos',2);
  297. INSERT INTO tenant_info ("TENANT_DESC","GMT_CREATE","KP","TENANT_NAME","GMT_MODIFIED","TENANT_ID","CREATE_SOURCE","ID") VALUES ('预发环境',1683377025641,'1','pre',1683377025641,'f50f4948-3ca2-48af-8bb1-1a47950b503d','nacos',3);
  298. INSERT INTO tenant_info ("TENANT_DESC","GMT_CREATE","KP","TENANT_NAME","GMT_MODIFIED","TENANT_ID","CREATE_SOURCE","ID") VALUES ('生产环境',1683377034418,'1','production',1683377034418,'3baec428-9669-486c-b359-a76f7a1f1ac7','nacos',4);
  299. -- ----------------------------
  300. -- 表名:users
  301. -- ----------------------------
  302. CREATE TABLE users(
  303. "USERNAME" VARCHAR(150) NOT NULL PRIMARY KEY,
  304. "PASSWORD" VARCHAR(1500) NOT NULL,
  305. "ENABLED" VARCHAR(45) NOT NULL
  306. );
  307. COMMENT ON TABLE users IS '';
  308. COMMENT ON COLUMN users."USERNAME" IS '';
  309. COMMENT ON COLUMN users."PASSWORD" IS '';
  310. COMMENT ON COLUMN users."ENABLED" IS '';
  311. DELETE FROM users;
  312. INSERT INTO users ("PASSWORD","ENABLED","USERNAME") VALUES ('$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu','true','nacos');
  313. -- 唯一索引
  314. CREATE UNIQUE INDEX uk_configinfo_datagrouptenant ON config_info(data_id,group_id,tenant_id);
  315. CREATE UNIQUE INDEX uk_configinfoaggr_datagrouptenantdatum ON config_info_aggr(data_id,group_id,tenant_id,datum_id);
  316. CREATE UNIQUE INDEX uk_configinfobeta_datagrouptenant ON config_info_beta(data_id,group_id,tenant_id);
  317. CREATE UNIQUE INDEX uk_configinfotag_datagrouptenanttag ON config_info_tag(data_id,group_id,tenant_id,tag_id);
  318. CREATE UNIQUE INDEX uk_configtagrelation_configidtag ON config_tags_relation(id,tag_name,tag_type);
  319. CREATE UNIQUE INDEX uk_group_id ON group_capacity(group_id);
  320. CREATE UNIQUE INDEX uk_role_permission ON permissions(role,resource,action);
  321. CREATE UNIQUE INDEX uk_username_role ON roles(username,role);
  322. CREATE UNIQUE INDEX uk_tenant_id ON tenant_capacity(tenant_id);
  323. CREATE UNIQUE INDEX uk_tenant_info_kptenantid ON tenant_info(kp,tenant_id);
  324. CREATE TABLE "GLOBAL_TABLE"
  325. (
  326. "XID" VARCHAR2(128) NOT NULL,
  327. "TRANSACTION_ID" BIGINT,
  328. "STATUS" TINYINT NOT NULL,
  329. "APPLICATION_ID" VARCHAR2(32),
  330. "TRANSACTION_SERVICE_GROUP" VARCHAR2(32),
  331. "TRANSACTION_NAME" VARCHAR2(128),
  332. "TIMEOUT" INT,
  333. "BEGIN_TIME" BIGINT,
  334. "APPLICATION_DATA" VARCHAR2(2000),
  335. "GMT_CREATE" TIMESTAMP(0),
  336. "GMT_MODIFIED" TIMESTAMP(0),
  337. PRIMARY KEY ("XID")
  338. );
  339. CREATE INDEX "IDX_GMT_MODIFIED_STATUS" ON "GLOBAL_TABLE"("GMT_MODIFIED" ASC,"STATUS" ASC);
  340. CREATE INDEX "IDX_TRANSACTION_ID" ON "GLOBAL_TABLE"("TRANSACTION_ID" ASC);
  341. -- the table to store BranchSession data
  342. CREATE TABLE "BRANCH_TABLE"
  343. (
  344. "BRANCH_ID" BIGINT NOT NULL,
  345. "XID" VARCHAR2(128) NOT NULL,
  346. "TRANSACTION_ID" BIGINT,
  347. "RESOURCE_GROUP_ID" VARCHAR2(32),
  348. "RESOURCE_ID" VARCHAR2(256),
  349. "BRANCH_TYPE" VARCHAR2(8),
  350. "STATUS" TINYINT,
  351. "CLIENT_ID" VARCHAR2(64),
  352. "APPLICATION_DATA" VARCHAR2(2000),
  353. "GMT_CREATE" TIMESTAMP(0),
  354. "GMT_MODIFIED" TIMESTAMP(0),
  355. PRIMARY KEY ("BRANCH_ID")
  356. );
  357. CREATE INDEX "IDX_XID" ON "BRANCH_TABLE"("XID" ASC);
  358. -- the table to store lock data
  359. CREATE TABLE "LOCK_TABLE"
  360. (
  361. "ROW_KEY" VARCHAR2(128) NOT NULL,
  362. "XID" VARCHAR2(128),
  363. "TRANSACTION_ID" BIGINT,
  364. "BRANCH_ID" BIGINT NOT NULL,
  365. "RESOURCE_ID" VARCHAR2(256),
  366. "TABLE_NAME" VARCHAR2(32),
  367. "PK" VARCHAR2(128),
  368. "STATUS" TINYINT NOT NULL DEFAULT 0,
  369. "GMT_CREATE" TIMESTAMP(0),
  370. "GMT_MODIFIED" TIMESTAMP(0),
  371. PRIMARY KEY ("ROW_KEY")
  372. );
  373. COMMENT ON COLUMN "LOCK_TABLE"."STATUS" IS '0:locked ,1:rollbacking';
  374. CREATE INDEX "IDX_BRANCH_ID" ON "LOCK_TABLE" ("BRANCH_ID" ASC);
  375. CREATE INDEX "IDX_STATUS" ON "LOCK_TABLE" ("STATUS" ASC);
  376. CREATE TABLE "DISTRIBUTED_LOCK"
  377. (
  378. "LOCK_KEY" VARCHAR2(20) NOT NULL,
  379. "LOCK_VALUE" VARCHAR2(20) NOT NULL,
  380. "EXPIRE" BIGINT NOT NULL,
  381. PRIMARY KEY ("LOCK_KEY")
  382. );
  383. INSERT INTO "DISTRIBUTED_LOCK" ("LOCK_KEY", "LOCK_VALUE", "EXPIRE") VALUES ('AsyncCommitting', ' ', 0);
  384. INSERT INTO "DISTRIBUTED_LOCK" ("LOCK_KEY", "LOCK_VALUE", "EXPIRE") VALUES ('RetryCommitting', ' ', 0);
  385. INSERT INTO "DISTRIBUTED_LOCK" ("LOCK_KEY", "LOCK_VALUE", "EXPIRE") VALUES ('RetryRollbacking', ' ', 0);
  386. INSERT INTO "DISTRIBUTED_LOCK" ("LOCK_KEY", "LOCK_VALUE", "EXPIRE") VALUES ('TxTimeoutCheck', ' ', 0);
  387. CREATE TABLE "VGROUP_TABLE"
  388. (
  389. "VGROUP" VARCHAR2(255),
  390. "NAMESPACE" VARCHAR2(255),
  391. "CLUSTER" VARCHAR2(255),
  392. PRIMARY KEY ("VGROUP")
  393. );