online-form-script.sql 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. -- ----------------------------
  2. -- 一定要在与upms相同的数据库中执行该脚本。
  3. -- ----------------------------
  4. SET NAMES utf8mb4;
  5. SET FOREIGN_KEY_CHECKS = 0;
  6. -- ----------------------------
  7. -- 在线表单字段表
  8. -- ----------------------------
  9. DROP TABLE IF EXISTS `zz_online_column`;
  10. CREATE TABLE `zz_online_column`
  11. (
  12. `column_id` bigint(20) NOT NULL COMMENT '主键Id',
  13. `column_name` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '字段名',
  14. `table_id` bigint(20) NOT NULL COMMENT '数据表Id',
  15. `column_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '数据表中的字段类型',
  16. `full_column_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '数据表中的完整字段类型(包括了精度和刻度)',
  17. `primary_key` bit(1) NOT NULL COMMENT '是否为主键',
  18. `auto_increment` bit(1) NOT NULL COMMENT '是否是自增主键(0: 不是 1: 是)',
  19. `nullable` bit(1) NOT NULL COMMENT '是否可以为空 (0: 不可以为空 1: 可以为空)',
  20. `column_default` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '缺省值',
  21. `column_show_order` int(11) NOT NULL COMMENT '字段在数据表中的显示位置',
  22. `column_comment` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '数据表中的字段注释',
  23. `object_field_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '对象映射字段名称',
  24. `object_field_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '对象映射字段类型',
  25. `numeric_precision` int(11) COMMENT '数值型字段的精度',
  26. `numeric_scale` int(11) COMMENT '数值型字段的刻度',
  27. `filter_type` int(11) NOT NULL DEFAULT 1 COMMENT '字段过滤类型',
  28. `parent_key` bit(1) NOT NULL COMMENT '是否是主键的父Id',
  29. `dept_filter` bit(1) NOT NULL COMMENT '是否部门过滤字段',
  30. `user_filter` bit(1) NOT NULL COMMENT '是否用户过滤字段',
  31. `field_kind` int(11) DEFAULT NULL COMMENT '字段类别',
  32. `max_file_count` int(11) DEFAULT NULL COMMENT '包含的文件文件数量,0表示无限制',
  33. `upload_file_system_type` int(11) DEFAULT 0 COMMENT '上传文件系统类型',
  34. `encoded_rule` varchar(255) DEFAULT NULL COMMENT '编码规则的JSON格式数据',
  35. `dict_id` bigint(20) DEFAULT NULL COMMENT '字典Id',
  36. `update_time` datetime NOT NULL COMMENT '更新时间',
  37. `create_time` datetime NOT NULL COMMENT '创建时间',
  38. PRIMARY KEY (`column_id`),
  39. KEY `idx_table_id` (`table_id`) USING BTREE,
  40. KEY `idx_dict_id` (`dict_id`) USING BTREE
  41. ) ENGINE = InnoDB
  42. DEFAULT CHARSET = utf8mb4
  43. COLLATE = utf8mb4_bin COMMENT ='在线表单字段表';
  44. -- ----------------------------
  45. -- 在线表单字段和字段规则关联中间表
  46. -- ----------------------------
  47. DROP TABLE IF EXISTS `zz_online_column_rule`;
  48. CREATE TABLE `zz_online_column_rule`
  49. (
  50. `column_id` bigint(20) NOT NULL COMMENT '字段Id',
  51. `rule_id` bigint(20) NOT NULL COMMENT '规则Id',
  52. `prop_data_json` text COLLATE utf8mb4_bin COMMENT '规则属性数据',
  53. PRIMARY KEY (`column_id`, `rule_id`) USING BTREE,
  54. KEY `idx_rule_id` (`rule_id`) USING BTREE
  55. ) ENGINE = InnoDB
  56. DEFAULT CHARSET = utf8mb4
  57. COLLATE = utf8mb4_bin COMMENT ='在线表单字段和字段规则关联中间表';
  58. -- ----------------------------
  59. -- 在线表单数据源表
  60. -- ----------------------------
  61. DROP TABLE IF EXISTS `zz_online_datasource`;
  62. CREATE TABLE `zz_online_datasource`
  63. (
  64. `datasource_id` bigint(20) NOT NULL COMMENT '主键Id',
  65. `datasource_name` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '数据源名称',
  66. `variable_name` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '数据源变量名',
  67. `dblink_id` bigint(20) NOT NULL COMMENT '数据库链接Id',
  68. `master_table_id` bigint(20) NOT NULL COMMENT '主表Id',
  69. `update_time` datetime NOT NULL COMMENT '更新时间',
  70. `create_time` datetime NOT NULL COMMENT '创建时间',
  71. PRIMARY KEY (`datasource_id`),
  72. UNIQUE KEY `uk_variable_name` (`variable_name`) USING BTREE,
  73. KEY `idx_master_table_id` (`master_table_id`) USING BTREE
  74. ) ENGINE = InnoDB
  75. DEFAULT CHARSET = utf8mb4
  76. COLLATE = utf8mb4_bin COMMENT ='在线表单数据源表';
  77. -- ----------------------------
  78. -- 在线表单数据源关联表
  79. -- ----------------------------
  80. DROP TABLE IF EXISTS `zz_online_datasource_relation`;
  81. CREATE TABLE `zz_online_datasource_relation`
  82. (
  83. `relation_id` bigint(20) NOT NULL COMMENT '主键Id',
  84. `relation_name` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '关联名称',
  85. `variable_name` varchar(128) COLLATE utf8mb4_bin NOT NULL COMMENT '变量名',
  86. `datasource_id` bigint(20) NOT NULL COMMENT '主数据源Id',
  87. `relation_type` int(11) NOT NULL COMMENT '关联类型',
  88. `master_column_id` bigint(20) NOT NULL COMMENT '主表关联字段Id',
  89. `slave_table_id` bigint(20) NOT NULL COMMENT '从表Id',
  90. `slave_column_id` bigint(20) NOT NULL COMMENT '从表关联字段Id',
  91. `cascade_delete` bit(1) NOT NULL COMMENT '删除主表的时候是否级联删除一对一和一对多的从表数据,多对多只是删除关联,不受到这个标记的影响。',
  92. `left_join` bit(1) NOT NULL COMMENT '是否左连接',
  93. `update_time` datetime NOT NULL COMMENT '更新时间',
  94. `create_time` datetime NOT NULL COMMENT '创建时间',
  95. PRIMARY KEY (`relation_id`) USING BTREE,
  96. UNIQUE KEY `idx_datasource_id_variable_name` (`datasource_id`, `variable_name`) USING BTREE
  97. ) ENGINE = InnoDB
  98. DEFAULT CHARSET = utf8mb4
  99. COLLATE = utf8mb4_bin COMMENT ='在线表单数据源关联表';
  100. -- ----------------------------
  101. -- 在线表单数据源和数据表关联的中间表
  102. -- ----------------------------
  103. DROP TABLE IF EXISTS `zz_online_datasource_table`;
  104. CREATE TABLE `zz_online_datasource_table`
  105. (
  106. `id` bigint(20) NOT NULL COMMENT '主键Id',
  107. `datasource_id` bigint(20) NOT NULL COMMENT '数据源Id',
  108. `relation_id` bigint(20) DEFAULT NULL COMMENT '数据源关联Id',
  109. `table_id` bigint(20) NOT NULL COMMENT '数据表Id',
  110. PRIMARY KEY (`id`) USING BTREE,
  111. KEY `idx_relation_id` (`relation_id`) USING BTREE,
  112. KEY `idx_datasource_id` (`datasource_id`) USING BTREE,
  113. KEY `idx_table_id` (`table_id`) USING BTREE
  114. ) ENGINE = InnoDB
  115. DEFAULT CHARSET = utf8mb4
  116. COLLATE = utf8mb4_bin COMMENT ='在线表单数据源和数据表关联的中间表';
  117. -- ----------------------------
  118. -- 在线表单数据库链接表
  119. -- ----------------------------
  120. DROP TABLE IF EXISTS `zz_online_dblink`;
  121. CREATE TABLE `zz_online_dblink`
  122. (
  123. `dblink_id` bigint(20) NOT NULL COMMENT '主键Id',
  124. `dblink_name` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '链接中文名称',
  125. `variable_name` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '链接英文名称',
  126. `dblink_desc` varchar(512) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '链接描述',
  127. `dblink_config_constant` int NOT NULL COMMENT '数据源配置常量',
  128. `create_time` datetime NOT NULL COMMENT '创建时间',
  129. PRIMARY KEY (`dblink_id`)
  130. ) ENGINE = InnoDB
  131. DEFAULT CHARSET = utf8mb4
  132. COLLATE = utf8mb4_bin COMMENT ='在线表单数据库链接表';
  133. -- ----------------------------
  134. -- 为 zz_online_dblink 插入一条缺省数据。出于安全考虑,前端没有提供dblink的配置接口,因此,推荐手动维护。
  135. -- 有关 dblink_config_constant 字段的数值,可参考在线文档。
  136. -- ----------------------------
  137. INSERT INTO `zz_online_dblink`
  138. VALUES (1, 'first', 'first', '第一个链接', 0, CURDATE());
  139. -- ----------------------------
  140. -- 在线表单字典表
  141. -- ----------------------------
  142. DROP TABLE IF EXISTS `zz_online_dict`;
  143. CREATE TABLE `zz_online_dict`
  144. (
  145. `dict_id` bigint(20) NOT NULL COMMENT '主键Id',
  146. `dict_name` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '字典名称',
  147. `dict_type` int(11) NOT NULL COMMENT '字典类型',
  148. `dblink_id` bigint(20) DEFAULT NULL COMMENT '数据库链接Id',
  149. `table_name` varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '字典表名称',
  150. `key_column_name` varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '字典表键字段名称',
  151. `parent_key_column_name` varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '字典表父键字段名称',
  152. `value_column_name` varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '字典值字段名称',
  153. `deleted_column_name` varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '逻辑删除字段',
  154. `user_filter_column_name` varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '用户过滤滤字段名称',
  155. `dept_filter_column_name` varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '部门过滤滤字段名称',
  156. `tenant_filter_column_name` varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '租户过滤字段名称',
  157. `tree_flag` bit(1) NOT NULL COMMENT '是否树形标记',
  158. `dict_list_url` varchar(512) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '获取字典列表数据的url',
  159. `dict_ids_url` varchar(512) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '根据主键id批量获取字典数据的url',
  160. `dict_data_json` text COLLATE utf8mb4_bin COMMENT '字典的JSON数据',
  161. `update_time` datetime NOT NULL COMMENT '更新时间',
  162. `create_time` datetime NOT NULL COMMENT '创建时间',
  163. PRIMARY KEY (`dict_id`) USING BTREE
  164. ) ENGINE = InnoDB
  165. DEFAULT CHARSET = utf8mb4
  166. COLLATE = utf8mb4_bin COMMENT ='在线表单字典表';
  167. -- ----------------------------
  168. -- 在线表单表单表
  169. -- ----------------------------
  170. DROP TABLE IF EXISTS `zz_online_form`;
  171. CREATE TABLE `zz_online_form`
  172. (
  173. `form_id` bigint(20) NOT NULL COMMENT '主键Id',
  174. `page_id` bigint(20) NOT NULL COMMENT '页面id',
  175. `form_code` varchar(128) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '表单编码',
  176. `form_name` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '表单名称',
  177. `form_kind` int(11) NOT NULL COMMENT '表单类别',
  178. `form_type` int(11) NOT NULL COMMENT '表单类型',
  179. `master_table_id` bigint(20) NOT NULL COMMENT '表单主表id',
  180. `widget_json` mediumtext COLLATE utf8mb4_bin COMMENT '表单组件JSON',
  181. `params_json` text COLLATE utf8mb4_bin COMMENT '表单参数JSON',
  182. `update_time` datetime NOT NULL COMMENT '更新时间',
  183. `create_time` datetime NOT NULL COMMENT '创建时间',
  184. PRIMARY KEY (`form_id`) USING BTREE,
  185. UNIQUE KEY `uk_page_id_form_code` (`page_id`, `form_code`) USING BTREE
  186. ) ENGINE = InnoDB
  187. DEFAULT CHARSET = utf8mb4
  188. COLLATE = utf8mb4_bin COMMENT ='在线表单表单表';
  189. -- ----------------------------
  190. -- 在线表单表单和数据源关联中间表
  191. -- ----------------------------
  192. DROP TABLE IF EXISTS `zz_online_form_datasource`;
  193. CREATE TABLE `zz_online_form_datasource`
  194. (
  195. `id` bigint(20) NOT NULL COMMENT '主键Id',
  196. `form_id` bigint(20) NOT NULL COMMENT '表单Id',
  197. `datasource_id` bigint(20) NOT NULL COMMENT '数据源Id',
  198. PRIMARY KEY (`id`),
  199. KEY `idx_form_id` (`form_id`) USING BTREE,
  200. KEY `idx_datasource_id` (`datasource_id`) USING BTREE
  201. ) ENGINE = InnoDB
  202. DEFAULT CHARSET = utf8mb4
  203. COLLATE = utf8mb4_bin COMMENT ='在线表单表单和数据源关联中间表';
  204. -- ----------------------------
  205. -- 在线表单页面表
  206. -- ----------------------------
  207. DROP TABLE IF EXISTS `zz_online_page`;
  208. CREATE TABLE `zz_online_page`
  209. (
  210. `page_id` bigint(20) NOT NULL COMMENT '主键Id',
  211. `page_code` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '页面编码',
  212. `page_name` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '页面名称',
  213. `page_type` int(11) NOT NULL COMMENT '页面类型',
  214. `status` int(11) NOT NULL COMMENT '页面编辑状态',
  215. `published` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否发布',
  216. `update_time` datetime NOT NULL COMMENT '更新时间',
  217. `create_time` datetime NOT NULL COMMENT '创建时间',
  218. PRIMARY KEY (`page_id`) USING BTREE
  219. ) ENGINE = InnoDB
  220. DEFAULT CHARSET = utf8mb4
  221. COLLATE = utf8mb4_bin COMMENT ='在线表单页面表';
  222. -- ----------------------------
  223. -- 在线表单页面和数据源关联中间表
  224. -- ----------------------------
  225. DROP TABLE IF EXISTS `zz_online_page_datasource`;
  226. CREATE TABLE `zz_online_page_datasource`
  227. (
  228. `id` bigint(20) NOT NULL COMMENT '主键Id',
  229. `page_id` bigint(20) NOT NULL COMMENT '页面主键Id',
  230. `datasource_id` bigint(20) NOT NULL COMMENT '数据源主键Id',
  231. PRIMARY KEY (`id`),
  232. KEY `idx_page_id` (`page_id`) USING BTREE,
  233. KEY `idx_datasource_id` (`datasource_id`) USING BTREE
  234. ) ENGINE = InnoDB
  235. DEFAULT CHARSET = utf8mb4
  236. COLLATE = utf8mb4_bin COMMENT ='在线表单页面和数据源关联中间表';
  237. -- ----------------------------
  238. -- 在线表单字段规则表
  239. -- ----------------------------
  240. DROP TABLE IF EXISTS `zz_online_rule`;
  241. CREATE TABLE `zz_online_rule`
  242. (
  243. `rule_id` bigint(20) NOT NULL COMMENT '主键Id',
  244. `rule_name` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '规则名称',
  245. `rule_type` int(11) NOT NULL COMMENT '规则类型',
  246. `builtin` bit(1) NOT NULL COMMENT '内置规则标记',
  247. `pattern` varchar(512) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '自定义规则的正则表达式',
  248. `update_time` datetime NOT NULL COMMENT '更新时间',
  249. `create_time` datetime NOT NULL COMMENT '创建时间',
  250. `deleted_flag` int(11) NOT NULL COMMENT '逻辑删除标记',
  251. PRIMARY KEY (`rule_id`) USING BTREE
  252. ) ENGINE = InnoDB
  253. DEFAULT CHARSET = utf8mb4
  254. COLLATE = utf8mb4_bin COMMENT ='在线表单字段规则表';
  255. INSERT INTO `zz_online_rule`
  256. VALUES (1, '只允许整数', 1, b'1', NULL, CURDATE(), CURDATE(), 1);
  257. INSERT INTO `zz_online_rule`
  258. VALUES (2, '只允许数字', 2, b'1', NULL, CURDATE(), CURDATE(), 1);
  259. INSERT INTO `zz_online_rule`
  260. VALUES (3, '只允许英文字符', 3, b'1', NULL, CURDATE(), CURDATE(), 1);
  261. INSERT INTO `zz_online_rule`
  262. VALUES (4, '范围验证', 4, b'1', NULL, CURDATE(), CURDATE(), 1);
  263. INSERT INTO `zz_online_rule`
  264. VALUES (5, '邮箱格式验证', 5, b'1', NULL, CURDATE(), CURDATE(), 1);
  265. INSERT INTO `zz_online_rule`
  266. VALUES (6, '手机格式验证', 6, b'1', NULL, CURDATE(), CURDATE(), 1);
  267. -- ----------------------------
  268. -- 在线表单数据表
  269. -- ----------------------------
  270. DROP TABLE IF EXISTS `zz_online_table`;
  271. CREATE TABLE `zz_online_table`
  272. (
  273. `table_id` bigint(20) NOT NULL COMMENT '主键Id',
  274. `table_name` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '表名称',
  275. `model_name` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '实体名称',
  276. `dblink_id` bigint(20) NOT NULL COMMENT '数据库链接Id',
  277. `update_time` datetime NOT NULL COMMENT '更新时间',
  278. `create_time` datetime NOT NULL COMMENT '创建时间',
  279. PRIMARY KEY (`table_id`),
  280. KEY `idx_dblink_id` (`dblink_id`) USING BTREE
  281. ) ENGINE = InnoDB
  282. DEFAULT CHARSET = utf8mb4
  283. COLLATE = utf8mb4_bin COMMENT ='在线表单数据表';
  284. -- ----------------------------
  285. -- 在线表单虚拟字段表
  286. -- ----------------------------
  287. DROP TABLE IF EXISTS `zz_online_virtual_column`;
  288. CREATE TABLE `zz_online_virtual_column`
  289. (
  290. `virtual_column_id` bigint(20) NOT NULL COMMENT '主键Id',
  291. `table_id` bigint(20) NOT NULL COMMENT '所在表Id',
  292. `object_field_name` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '字段名称',
  293. `object_field_type` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '属性类型',
  294. `column_prompt` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '字段提示名',
  295. `virtual_type` int(11) NOT NULL COMMENT '虚拟字段类型(0: 聚合)',
  296. `datasource_id` bigint(20) NOT NULL COMMENT '关联数据源Id',
  297. `relation_id` bigint(20) DEFAULT NULL COMMENT '关联Id',
  298. `aggregation_table_id` bigint(20) DEFAULT NULL COMMENT '聚合字段所在关联表Id',
  299. `aggregation_column_id` bigint(20) DEFAULT NULL COMMENT '关联表聚合字段Id',
  300. `aggregation_type` int(11) DEFAULT NULL COMMENT '聚合类型(0: sum 1: count 2: avg 3: min 4: max)',
  301. `where_clause_json` varchar(1024) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '存储过滤条件的json',
  302. PRIMARY KEY (`virtual_column_id`) USING BTREE,
  303. KEY `idx_database_id` (`datasource_id`) USING BTREE,
  304. KEY `idx_relation_id` (`relation_id`) USING BTREE,
  305. KEY `idx_table_id` (`table_id`) USING BTREE,
  306. KEY `idx_aggregation_column_id` (`aggregation_column_id`) USING BTREE
  307. ) ENGINE = InnoDB
  308. DEFAULT CHARSET = utf8mb4
  309. COLLATE = utf8mb4_bin COMMENT ='在线表单虚拟字段表';
  310. SET FOREIGN_KEY_CHECKS = 1;