feat: 增加低代码平台脚本

This commit is contained in:
yubaolee
2025-04-29 17:15:43 +08:00
parent 3def1e6bfc
commit a28458347a

View File

@@ -0,0 +1,224 @@
-- 1. 租户管理相关表
-- 1.1 租户表
CREATE TABLE `systenant` (
`id` varchar(50) NOT NULL COMMENT '租户ID',
`name` varchar(100) NOT NULL COMMENT '租户名称',
`code` varchar(50) NOT NULL COMMENT '租户编码',
`datasource` varchar(50) NULL COMMENT '外部数据源',
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态0=未激活1=已激活2=已禁用',
`expire_time` datetime DEFAULT NULL COMMENT '过期时间',
`logo` varchar(200) DEFAULT NULL COMMENT '租户Logo',
`description` varchar(500) DEFAULT NULL COMMENT '租户描述',
`createtime` datetime NOT NULL COMMENT '创建时间',
`createuserid` varchar(50) NOT NULL COMMENT '创建用户ID',
`createusername` varchar(50) DEFAULT NULL COMMENT '创建用户名',
`updatetime` datetime DEFAULT NULL COMMENT '更新时间',
`updateuserid` varchar(50) DEFAULT NULL COMMENT '更新用户ID',
`updateusername` varchar(50) DEFAULT NULL COMMENT '更新用户名',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统租户表';
-- 2. 核心功能表
-- 2.1 应用表
CREATE TABLE `lowcodeapp` (
`id` varchar(50) NOT NULL COMMENT '应用ID',
`tenantid` varchar(50) NOT NULL COMMENT '租户ID',
`name` varchar(100) NOT NULL COMMENT '应用名称',
`description` varchar(500) DEFAULT NULL COMMENT '应用描述',
`icon` varchar(100) DEFAULT NULL COMMENT '应用图标',
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态0=开发中1=已发布2=已下线',
`createtime` datetime NOT NULL COMMENT '创建时间',
`createuserid` varchar(50) NOT NULL COMMENT '创建用户ID',
`createusername` varchar(50) DEFAULT NULL COMMENT '创建用户名',
`updatetime` datetime DEFAULT NULL COMMENT '更新时间',
`updateuserid` varchar(50) DEFAULT NULL COMMENT '更新用户ID',
`updateusername` varchar(50) DEFAULT NULL COMMENT '更新用户名',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='低代码应用表';
-- 2.2 页面表
CREATE TABLE `lowcodepage` (
`id` varchar(50) NOT NULL COMMENT '页面ID',
`tenantid` varchar(50) NOT NULL COMMENT '租户ID',
`applicationid` varchar(50) NOT NULL COMMENT '所属应用ID',
`name` varchar(100) NOT NULL COMMENT '页面名称',
`title` varchar(100) NOT NULL COMMENT '页面标题',
`type` varchar(50) NOT NULL COMMENT '页面类型form=表单页list=列表页detail=详情页dashboard=数据看板custom=自定义页',
`url` varchar(200) DEFAULT NULL COMMENT '页面路由',
`layout` text COMMENT '页面布局配置JSON',
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态0=草稿1=已发布',
`sortno` int(11) DEFAULT '0' COMMENT '排序号',
`icon` varchar(50) DEFAULT NULL COMMENT '页面图标',
`createtime` datetime NOT NULL COMMENT '创建时间',
`createuserid` varchar(50) NOT NULL COMMENT '创建用户ID',
`createusername` varchar(50) DEFAULT NULL COMMENT '创建用户名',
`updatetime` datetime DEFAULT NULL COMMENT '更新时间',
`updateuserid` varchar(50) DEFAULT NULL COMMENT '更新用户ID',
`updateusername` varchar(50) DEFAULT NULL COMMENT '更新用户名',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='低代码页面表';
-- 2.3 组件表
CREATE TABLE `lowcodecomponent` (
`id` varchar(50) NOT NULL COMMENT '组件ID',
`tenantid` varchar(50) NOT NULL COMMENT '租户ID',
`page_id` varchar(50) NOT NULL COMMENT '所属页面ID',
`parentname` varchar(50) DEFAULT NULL COMMENT '父组件名称',
`parentid` varchar(50) DEFAULT NULL COMMENT '父组件ID',
`type` varchar(50) NOT NULL COMMENT '组件类型input, select, table, chart, card等',
`name` varchar(100) NOT NULL COMMENT '组件名称',
`label` varchar(100) DEFAULT NULL COMMENT '组件标签文本',
`prop_config` text COMMENT '组件属性配置JSON',
`style_config` text COMMENT '组件样式配置JSON',
`data_config` text COMMENT '组件数据配置JSON',
`sortno` int(11) DEFAULT '0' COMMENT '排序号',
`createtime` datetime NOT NULL COMMENT '创建时间',
`updatetime` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='低代码组件表';
-- 2.4 数据模型表,用buildertable
CREATE TABLE `lowcodedatamodel` (
`id` varchar(50) NOT NULL COMMENT '模型ID',
`tenantid` varchar(50) NOT NULL COMMENT '租户ID',
`applicationid` varchar(50) NOT NULL COMMENT '所属应用ID',
`name` varchar(100) NOT NULL COMMENT '模型名称',
`code` varchar(100) NOT NULL COMMENT '模型编码',
`description` varchar(500) DEFAULT NULL COMMENT '模型描述',
`table_name` varchar(100) DEFAULT NULL COMMENT '关联的物理表名',
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态0=设计中1=已发布',
`createtime` datetime NOT NULL COMMENT '创建时间',
`createuserid` varchar(50) NOT NULL COMMENT '创建用户ID',
`createusername` varchar(50) DEFAULT NULL COMMENT '创建用户名',
`updatetime` datetime DEFAULT NULL COMMENT '更新时间',
`updateuserid` varchar(50) DEFAULT NULL COMMENT '更新用户ID',
`updateusername` varchar(50) DEFAULT NULL COMMENT '更新用户名',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='低代码数据模型表';
-- 2.5 数据字段表,用buildertablecolumn
CREATE TABLE `lowcodedatafield` (
`id` varchar(50) NOT NULL COMMENT '字段ID',
`tenantid` varchar(50) NOT NULL COMMENT '租户ID',
`model_id` varchar(50) NOT NULL COMMENT '所属模型ID',
`name` varchar(100) NOT NULL COMMENT '字段名称',
`code` varchar(100) NOT NULL COMMENT '字段编码',
`type` varchar(50) NOT NULL COMMENT '字段类型string, number, boolean, date等',
`length` int(11) DEFAULT NULL COMMENT '字段长度',
`default_value` varchar(200) DEFAULT NULL COMMENT '默认值',
`is_required` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否必填',
`is_key` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否主键',
`is_display` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否在列表中显示',
`is_search` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否可搜索',
`is_sort` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否可排序',
`description` varchar(500) DEFAULT NULL COMMENT '字段描述',
`sortno` int(11) DEFAULT '0' COMMENT '排序号',
`createtime` datetime NOT NULL COMMENT '创建时间',
`updatetime` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='低代码数据字段表';
-- 2.6 表单设计表
CREATE TABLE `lowcodeform` (
`id` varchar(50) NOT NULL COMMENT '表单ID',
`tenantid` varchar(50) NOT NULL COMMENT '租户ID',
`applicationid` varchar(50) NOT NULL COMMENT '所属应用ID',
`name` varchar(100) NOT NULL COMMENT '表单名称',
`code` varchar(100) NOT NULL COMMENT '表单编码',
`description` varchar(500) DEFAULT NULL COMMENT '表单描述',
`model_id` varchar(50) DEFAULT NULL COMMENT '关联的数据模型ID',
`form_config` text NOT NULL COMMENT '表单配置JSON',
`form_type` varchar(20) NOT NULL DEFAULT 'create' COMMENT '表单类型create=新建表单edit=编辑表单query=查询表单view=查看表单',
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态0=草稿1=已发布',
`version` varchar(20) DEFAULT '1.0' COMMENT '表单版本',
`createtime` datetime NOT NULL COMMENT '创建时间',
`createuserid` varchar(50) NOT NULL COMMENT '创建用户ID',
`createusername` varchar(50) DEFAULT NULL COMMENT '创建用户名',
`updatetime` datetime DEFAULT NULL COMMENT '更新时间',
`updateuserid` varchar(50) DEFAULT NULL COMMENT '更新用户ID',
`updateusername` varchar(50) DEFAULT NULL COMMENT '更新用户名',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='低代码表单设计表';
-- 2.7 数据源表用externaldatasource
CREATE TABLE `lowcodedatasource` (
`id` varchar(50) NOT NULL COMMENT '数据源ID',
`tenantid` varchar(50) NOT NULL COMMENT '租户ID',
`applicationid` varchar(50) NOT NULL COMMENT '所属应用ID',
`name` varchar(100) NOT NULL COMMENT '数据源名称',
`type` varchar(20) NOT NULL COMMENT '数据源类型mysql,sqlserver,oracle,api,excel等',
`connection_config` text COMMENT '连接配置JSON',
`description` varchar(500) DEFAULT NULL COMMENT '数据源描述',
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态0=未启用1=已启用',
`createtime` datetime NOT NULL COMMENT '创建时间',
`createuserid` varchar(50) NOT NULL COMMENT '创建用户ID',
`createusername` varchar(50) DEFAULT NULL COMMENT '创建用户名',
`updatetime` datetime DEFAULT NULL COMMENT '更新时间',
`updateuserid` varchar(50) DEFAULT NULL COMMENT '更新用户ID',
`updateusername` varchar(50) DEFAULT NULL COMMENT '更新用户名',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='低代码数据源表';
-- 2.8 数据可视化表
CREATE TABLE `lowcodevisualization` (
`id` varchar(50) NOT NULL COMMENT '可视化ID',
`tenantid` varchar(50) NOT NULL COMMENT '租户ID',
`applicationid` varchar(50) NOT NULL COMMENT '所属应用ID',
`name` varchar(100) NOT NULL COMMENT '可视化名称',
`type` varchar(50) NOT NULL COMMENT '可视化类型chart=图表table=表格metric=指标卡map=地图等',
`datasource` varchar(50) DEFAULT NULL COMMENT '数据源ID',
`data_config` text NOT NULL COMMENT '数据配置JSON',
`style_config` text COMMENT '样式配置JSON',
`filter_config` text COMMENT '筛选配置JSON',
`description` varchar(500) DEFAULT NULL COMMENT '可视化描述',
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态0=草稿1=已发布',
`createtime` datetime NOT NULL COMMENT '创建时间',
`createuserid` varchar(50) NOT NULL COMMENT '创建用户ID',
`createusername` varchar(50) DEFAULT NULL COMMENT '创建用户名',
`updatetime` datetime DEFAULT NULL COMMENT '更新时间',
`updateuserid` varchar(50) DEFAULT NULL COMMENT '更新用户ID',
`updateusername` varchar(50) DEFAULT NULL COMMENT '更新用户名',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='低代码数据可视化表';
-- 2.9 菜单表
CREATE TABLE `lowcodemenu` (
`id` varchar(50) NOT NULL COMMENT '菜单ID',
`tenantid` varchar(50) NOT NULL COMMENT '租户ID',
`applicationid` varchar(50) NOT NULL COMMENT '所属应用ID',
`parentid` varchar(50) DEFAULT NULL COMMENT '父菜单ID',
`name` varchar(100) NOT NULL COMMENT '菜单名称',
`icon` varchar(50) DEFAULT NULL COMMENT '菜单图标',
`path` varchar(200) DEFAULT NULL COMMENT '菜单路径',
`page_id` varchar(50) DEFAULT NULL COMMENT '关联的页面ID',
`sortno` int(11) DEFAULT '0' COMMENT '排序号',
`is_visible` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否可见',
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态0=未启用1=已启用',
`createtime` datetime NOT NULL COMMENT '创建时间',
`updatetime` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='低代码菜单表';
-- 2.10 API接口表,用sysresource表
CREATE TABLE `lowcodeapi` (
`id` varchar(50) NOT NULL COMMENT 'API ID',
`tenantid` varchar(50) NOT NULL COMMENT '租户ID',
`applicationid` varchar(50) NOT NULL COMMENT '所属应用ID',
`name` varchar(100) NOT NULL COMMENT 'API名称',
`method` varchar(10) NOT NULL COMMENT '请求方法GET, POST, PUT, DELETE等',
`url` varchar(500) NOT NULL COMMENT 'API地址',
`request_config` text COMMENT '请求参数配置JSON',
`response_config` text COMMENT '响应结果配置JSON',
`description` varchar(500) DEFAULT NULL COMMENT 'API描述',
`model_id` varchar(50) DEFAULT NULL COMMENT '关联的数据模型ID',
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态0=开发中1=已发布',
`createtime` datetime NOT NULL COMMENT '创建时间',
`createuserid` varchar(50) NOT NULL COMMENT '创建用户ID',
`createusername` varchar(50) DEFAULT NULL COMMENT '创建用户名',
`updatetime` datetime DEFAULT NULL COMMENT '更新时间',
`updateuserid` varchar(50) DEFAULT NULL COMMENT '更新用户ID',
`updateusername` varchar(50) DEFAULT NULL COMMENT '更新用户名',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='低代码API接口表';