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 12 kB

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