mysql-schema.sql 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. /*
  2. * Copyright 1999-2018 Alibaba Group Holding Ltd.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. /******************************************/
  17. /* 表名称 = config_info */
  18. /******************************************/
  19. CREATE TABLE `config_info` (
  20. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  21. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  22. `group_id` varchar(128) DEFAULT NULL COMMENT 'group_id',
  23. `content` longtext NOT NULL COMMENT 'content',
  24. `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  25. `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  26. `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  27. `src_user` text COMMENT 'source user',
  28. `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  29. `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  30. `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  31. `c_desc` varchar(256) DEFAULT NULL COMMENT 'configuration description',
  32. `c_use` varchar(64) DEFAULT NULL COMMENT 'configuration usage',
  33. `effect` varchar(64) DEFAULT NULL COMMENT '配置生效的描述',
  34. `type` varchar(64) DEFAULT NULL COMMENT '配置的类型',
  35. `c_schema` text COMMENT '配置的模式',
  36. `encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥',
  37. PRIMARY KEY (`id`),
  38. UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
  39. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';
  40. /******************************************/
  41. /* 表名称 = config_info since 2.5.0 */
  42. /******************************************/
  43. CREATE TABLE `config_info_gray` (
  44. `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
  45. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  46. `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  47. `content` longtext NOT NULL COMMENT 'content',
  48. `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  49. `src_user` text COMMENT 'src_user',
  50. `src_ip` varchar(100) DEFAULT NULL COMMENT 'src_ip',
  51. `gmt_create` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_create',
  52. `gmt_modified` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_modified',
  53. `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  54. `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  55. `gray_name` varchar(128) NOT NULL COMMENT 'gray_name',
  56. `gray_rule` text NOT NULL COMMENT 'gray_rule',
  57. `encrypted_data_key` varchar(256) NOT NULL DEFAULT '' COMMENT 'encrypted_data_key',
  58. PRIMARY KEY (`id`),
  59. UNIQUE KEY `uk_configinfogray_datagrouptenantgray` (`data_id`,`group_id`,`tenant_id`,`gray_name`),
  60. KEY `idx_dataid_gmt_modified` (`data_id`,`gmt_modified`),
  61. KEY `idx_gmt_modified` (`gmt_modified`)
  62. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='config_info_gray';
  63. /******************************************/
  64. /* 表名称 = config_info_beta */
  65. /******************************************/
  66. CREATE TABLE `config_info_beta` (
  67. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  68. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  69. `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  70. `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  71. `content` longtext NOT NULL COMMENT 'content',
  72. `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
  73. `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  74. `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  75. `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  76. `src_user` text COMMENT 'source user',
  77. `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  78. `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  79. `encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥',
  80. PRIMARY KEY (`id`),
  81. UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
  82. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';
  83. /******************************************/
  84. /* 表名称 = config_info_tag */
  85. /******************************************/
  86. CREATE TABLE `config_info_tag` (
  87. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  88. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  89. `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  90. `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  91. `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
  92. `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  93. `content` longtext NOT NULL COMMENT 'content',
  94. `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  95. `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  96. `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  97. `src_user` text COMMENT 'source user',
  98. `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  99. PRIMARY KEY (`id`),
  100. UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
  101. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';
  102. /******************************************/
  103. /* 表名称 = config_tags_relation */
  104. /******************************************/
  105. CREATE TABLE `config_tags_relation` (
  106. `id` bigint(20) NOT NULL COMMENT 'id',
  107. `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
  108. `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
  109. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  110. `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  111. `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  112. `nid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增长标识',
  113. PRIMARY KEY (`nid`),
  114. UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
  115. KEY `idx_tenant_id` (`tenant_id`)
  116. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';
  117. /******************************************/
  118. /* 表名称 = group_capacity */
  119. /******************************************/
  120. CREATE TABLE `group_capacity` (
  121. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  122. `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
  123. `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  124. `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  125. `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  126. `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
  127. `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  128. `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  129. `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  130. `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  131. PRIMARY KEY (`id`),
  132. UNIQUE KEY `uk_group_id` (`group_id`)
  133. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';
  134. /******************************************/
  135. /* 表名称 = his_config_info */
  136. /******************************************/
  137. CREATE TABLE `his_config_info` (
  138. `id` bigint(20) unsigned NOT NULL COMMENT 'id',
  139. `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增标识',
  140. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  141. `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  142. `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  143. `content` longtext NOT NULL COMMENT 'content',
  144. `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  145. `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  146. `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  147. `src_user` text COMMENT 'source user',
  148. `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  149. `op_type` char(10) DEFAULT NULL COMMENT 'operation type',
  150. `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  151. `encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥',
  152. `publish_type` varchar(50) DEFAULT 'formal' COMMENT 'publish type gray or formal',
  153. `gray_name` varchar(50) DEFAULT NULL COMMENT 'gray name',
  154. `ext_info` longtext DEFAULT NULL COMMENT 'ext info',
  155. PRIMARY KEY (`nid`),
  156. KEY `idx_gmt_create` (`gmt_create`),
  157. KEY `idx_gmt_modified` (`gmt_modified`),
  158. KEY `idx_did` (`data_id`)
  159. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';
  160. /******************************************/
  161. /* 表名称 = tenant_capacity */
  162. /******************************************/
  163. CREATE TABLE `tenant_capacity` (
  164. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  165. `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
  166. `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  167. `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  168. `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  169. `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
  170. `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  171. `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  172. `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  173. `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  174. PRIMARY KEY (`id`),
  175. UNIQUE KEY `uk_tenant_id` (`tenant_id`)
  176. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';
  177. CREATE TABLE `tenant_info` (
  178. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  179. `kp` varchar(128) NOT NULL COMMENT 'kp',
  180. `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
  181. `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
  182. `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
  183. `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
  184. `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
  185. `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
  186. PRIMARY KEY (`id`),
  187. UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
  188. KEY `idx_tenant_id` (`tenant_id`)
  189. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';
  190. CREATE TABLE `users` (
  191. `username` varchar(50) NOT NULL PRIMARY KEY COMMENT 'username',
  192. `password` varchar(500) NOT NULL COMMENT 'password',
  193. `enabled` boolean NOT NULL COMMENT 'enabled'
  194. );
  195. CREATE TABLE `roles` (
  196. `username` varchar(50) NOT NULL COMMENT 'username',
  197. `role` varchar(50) NOT NULL COMMENT 'role',
  198. UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
  199. );
  200. CREATE TABLE `permissions` (
  201. `role` varchar(50) NOT NULL COMMENT 'role',
  202. `resource` varchar(128) NOT NULL COMMENT 'resource',
  203. `action` varchar(8) NOT NULL COMMENT 'action',
  204. UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
  205. );