You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

n9e_rdb.sql 10 kB

5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  1. set names utf8;
  2. drop database if exists n9e_rdb;
  3. create database n9e_rdb;
  4. use n9e_rdb;
  5. CREATE TABLE `user`
  6. (
  7. `id` int unsigned not null AUTO_INCREMENT,
  8. `uuid` varchar(128) not null comment 'use in cookie',
  9. `username` varchar(64) not null comment 'login name, cannot rename',
  10. `password` varchar(128) not null default '',
  11. `dispname` varchar(32) not null default '' comment 'display name, chinese name',
  12. `phone` varchar(16) not null default '',
  13. `email` varchar(64) not null default '',
  14. `im` varchar(64) not null default '',
  15. `portrait` varchar(2048) not null default '',
  16. `intro` text not null default '',
  17. `is_root` tinyint(1) not null,
  18. `leader_id` int unsigned not null default 0,
  19. `leader_name` varchar(32) not null default '',
  20. PRIMARY KEY (`id`),
  21. UNIQUE KEY (`username`),
  22. UNIQUE KEY (`uuid`)
  23. ) ENGINE = InnoDB
  24. DEFAULT CHARSET = utf8;
  25. CREATE TABLE `user_token`
  26. (
  27. `user_id` int unsigned not null,
  28. `username` varchar(128) not null,
  29. `token` varchar(128) not null,
  30. KEY (`user_id`),
  31. KEY (`username`),
  32. UNIQUE KEY (`token`)
  33. ) ENGINE = InnoDB
  34. DEFAULT CHARSET = utf8;
  35. CREATE TABLE `invite`
  36. (
  37. `id` int unsigned not null AUTO_INCREMENT,
  38. `token` varchar(128) not null,
  39. `expire` bigint not null,
  40. `creator` varchar(32) not null,
  41. PRIMARY KEY (`id`),
  42. UNIQUE KEY (`token`)
  43. ) ENGINE = InnoDB
  44. DEFAULT CHARSET = utf8;
  45. CREATE TABLE `team`
  46. (
  47. `id` int unsigned not null AUTO_INCREMENT,
  48. `ident` varchar(255) not null,
  49. `name` varchar(255) not null default '',
  50. `note` varchar(255) not null default '',
  51. `mgmt` int(1) not null comment '0: member manage; 1: admin manage',
  52. `creator` int unsigned not null,
  53. `last_updated` timestamp not null default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  54. PRIMARY KEY (`id`),
  55. UNIQUE KEY (`ident`)
  56. ) ENGINE = InnoDB
  57. DEFAULT CHARSET = utf8;
  58. CREATE TABLE `team_user`
  59. (
  60. `team_id` int unsigned not null,
  61. `user_id` int unsigned not null,
  62. `is_admin` tinyint(1) not null,
  63. KEY (`team_id`),
  64. KEY (`user_id`)
  65. ) ENGINE = InnoDB
  66. DEFAULT CHARSET = utf8;
  67. CREATE TABLE `configs`
  68. (
  69. `id` int unsigned not null AUTO_INCREMENT,
  70. `ckey` varchar(255) not null,
  71. `cval` varchar(255) not null default '',
  72. `last_updated` timestamp not null default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  73. PRIMARY KEY (`id`),
  74. UNIQUE KEY (`ckey`)
  75. ) ENGINE = InnoDB
  76. DEFAULT CHARSET = utf8;
  77. CREATE TABLE `node_cate`
  78. (
  79. `id` int unsigned not null AUTO_INCREMENT,
  80. `ident` char(128) not null default '' comment 'cluster,service,module,department,product...',
  81. `name` varchar(255) not null default '',
  82. `icon_color` char(7) not null default '' comment 'e.g. #108AC6',
  83. `protected` tinyint(1) not null default 0 comment 'if =1, cannot delete',
  84. PRIMARY KEY (`id`),
  85. KEY (`ident`)
  86. ) ENGINE = InnoDB
  87. DEFAULT CHARSET = utf8;
  88. insert into node_cate(ident, name, icon_color, protected)
  89. values ('tenant', '租户', '#de83cb', 1);
  90. insert into node_cate(ident, name, icon_color, protected)
  91. values ('organization', '组织', '#ff8e75', 1);
  92. insert into node_cate(ident, name, icon_color, protected)
  93. values ('project', '项目', '#f6bb4a', 1);
  94. insert into node_cate(ident, name, icon_color, protected)
  95. values ('module', '模块', '#6dc448', 1);
  96. insert into node_cate(ident, name, icon_color, protected)
  97. values ('cluster', '集群', '#94c7c6', 1);
  98. insert into node_cate(ident, name, icon_color, protected)
  99. values ('resource', '资源', '#a7aae6', 1);
  100. CREATE TABLE `node_cate_field`
  101. (
  102. `id` int unsigned not null AUTO_INCREMENT,
  103. `cate` char(32) not null default '' comment 'cluster,service,module,department,product...',
  104. `field_ident` varchar(255) not null comment 'english identity',
  105. `field_name` varchar(255) not null comment 'chinese name',
  106. `field_type` varchar(64) not null,
  107. `field_required` tinyint(1) not null default 0,
  108. `field_extra` varchar(2048) not null default '',
  109. `last_updated` timestamp not null default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  110. PRIMARY KEY (`id`),
  111. KEY (`cate`)
  112. ) ENGINE = InnoDB
  113. DEFAULT CHARSET = utf8;
  114. CREATE TABLE `node_field_value`
  115. (
  116. `id` int unsigned not null AUTO_INCREMENT,
  117. `node_id` int unsigned not null,
  118. `field_ident` varchar(255) not null,
  119. `field_value` varchar(1024) not null default '',
  120. PRIMARY KEY (`id`),
  121. KEY (`node_id`)
  122. ) ENGINE = InnoDB
  123. DEFAULT CHARSET = utf8;
  124. CREATE TABLE `node`
  125. (
  126. `id` int unsigned not null AUTO_INCREMENT,
  127. `pid` int unsigned not null,
  128. `ident` varchar(128) not null,
  129. `name` varchar(255) not null default '',
  130. `note` varchar(255) not null default '',
  131. `path` varchar(255) not null comment 'ident1.ident2.ident3',
  132. `leaf` tinyint(1) not null,
  133. `cate` char(128) not null default '' comment 'cluster,service,module,department,product...',
  134. `icon_color` char(7) not null default '' comment 'e.g. #108AC6',
  135. `icon_char` char(1) not null default '' comment 'cluster->C,service->S,module->M',
  136. `proxy` tinyint(1) not null default 0 comment '0:myself management, 1:other module management',
  137. `creator` varchar(64) not null,
  138. `last_updated` timestamp not null default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  139. PRIMARY KEY (`id`),
  140. UNIQUE KEY (`path`),
  141. KEY (`cate`)
  142. ) ENGINE = InnoDB
  143. DEFAULT CHARSET = utf8;
  144. insert into node(id, ident, name, note, pid, path, leaf, cate, icon_color, icon_char, proxy, creator)
  145. values (1, 'inner', '内置租户', '用于平台管理视角的资源监控', 0, 'inner', 0, 'tenant', '#de83cb', 'T', 0, 'root');
  146. CREATE TABLE `node_trash`
  147. (
  148. `id` int unsigned not null,
  149. `pid` int unsigned not null,
  150. `ident` varchar(128) not null,
  151. `name` varchar(255) not null default '',
  152. `note` varchar(255) not null default '',
  153. `path` varchar(255) not null comment 'ident1.ident2.ident3',
  154. `leaf` tinyint(1) not null,
  155. `cate` char(128) not null default '' comment 'cluster,service,module,department,product...',
  156. `icon_color` char(7) not null default '' comment 'e.g. #108AC6',
  157. `icon_char` char(1) not null default '' comment 'cluster->C,service->S,module->M',
  158. `proxy` tinyint(1) not null default 0 comment '0:myself management, 1:other module management',
  159. `creator` varchar(64) not null,
  160. `last_updated` timestamp not null default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  161. PRIMARY KEY (`id`),
  162. UNIQUE KEY (`path`),
  163. KEY (`cate`)
  164. ) ENGINE = InnoDB
  165. DEFAULT CHARSET = utf8;
  166. CREATE TABLE `node_admin`
  167. (
  168. `node_id` int unsigned not null,
  169. `user_id` int unsigned not null,
  170. KEY (`node_id`),
  171. KEY (`user_id`)
  172. ) ENGINE = InnoDB
  173. DEFAULT CHARSET = utf8;
  174. CREATE TABLE `resource`
  175. (
  176. `id` int unsigned not null AUTO_INCREMENT,
  177. `uuid` varchar(255) not null,
  178. `ident` varchar(255) not null,
  179. `name` varchar(255) not null default '',
  180. `labels` varchar(255) not null default '' comment 'e.g. flavor=2c4g300g,region=bj,os=windows',
  181. `note` varchar(255) not null default '',
  182. `extend` varchar(1024) not null default '' comment 'json',
  183. `cate` varchar(64) not null comment 'host,vm,container,switch,redis,mongo',
  184. `tenant` varchar(128) not null default '',
  185. `last_updated` timestamp not null default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  186. PRIMARY KEY (`id`),
  187. UNIQUE KEY (`uuid`),
  188. UNIQUE KEY (`ident`),
  189. KEY (`tenant`)
  190. ) ENGINE = InnoDB
  191. DEFAULT CHARSET = utf8;
  192. CREATE TABLE `node_resource`
  193. (
  194. `node_id` int unsigned not null,
  195. `res_id` int unsigned not null,
  196. KEY (`node_id`),
  197. KEY (`res_id`)
  198. ) ENGINE = InnoDB
  199. DEFAULT CHARSET = utf8;
  200. CREATE TABLE `node_role`
  201. (
  202. `id` int unsigned not null AUTO_INCREMENT,
  203. `node_id` int unsigned not null,
  204. `username` varchar(64) not null,
  205. `role_id` int unsigned not null,
  206. PRIMARY KEY (`id`),
  207. KEY (`node_id`),
  208. KEY (`role_id`),
  209. KEY (`username`)
  210. ) ENGINE = InnoDB
  211. DEFAULT CHARSET = utf8;
  212. CREATE TABLE `role`
  213. (
  214. `id` int unsigned not null AUTO_INCREMENT,
  215. `name` varchar(128) not null default '',
  216. `note` varchar(255) not null default '',
  217. `cate` char(6) not null default '' comment 'category: global or local',
  218. PRIMARY KEY (`id`),
  219. UNIQUE KEY (`name`)
  220. ) ENGINE = InnoDB
  221. DEFAULT CHARSET = utf8;
  222. CREATE TABLE `role_operation`
  223. (
  224. `id` int unsigned not null AUTO_INCREMENT,
  225. `role_id` int unsigned not null,
  226. `operation` varchar(255) not null,
  227. PRIMARY KEY (`id`),
  228. KEY (`role_id`)
  229. ) ENGINE = InnoDB
  230. DEFAULT CHARSET = utf8;
  231. CREATE TABLE `role_global_user`
  232. (
  233. `role_id` int unsigned not null,
  234. `user_id` int unsigned not null,
  235. KEY (`role_id`),
  236. KEY (`user_id`)
  237. ) ENGINE = InnoDB
  238. DEFAULT CHARSET = utf8;
  239. CREATE TABLE `login_log`
  240. (
  241. `id` int unsigned not null AUTO_INCREMENT,
  242. `username` varchar(64) not null,
  243. `client` varchar(128) not null comment 'client ip',
  244. `clock` bigint not null comment 'login timestamp',
  245. `loginout` char(3) not null comment 'in or out',
  246. PRIMARY KEY (`id`),
  247. KEY (`username`),
  248. KEY (`clock`)
  249. ) ENGINE = InnoDB
  250. DEFAULT CHARSET = utf8;
  251. CREATE TABLE `operation_log`
  252. (
  253. `id` bigint unsigned not null AUTO_INCREMENT,
  254. `username` varchar(64) not null,
  255. `clock` bigint not null comment 'operation timestamp',
  256. `res_cl` char(16) not null default '' comment 'resource class',
  257. `res_id` varchar(128) not null default '',
  258. `detail` varchar(512) not null,
  259. PRIMARY KEY (`id`),
  260. KEY (`clock`),
  261. KEY (`res_cl`, `res_id`)
  262. ) ENGINE = InnoDB
  263. DEFAULT CHARSET = utf8;