online-form-script.sql 16 KB

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