Files
2026-08-12 14:25:34 +08:00

196 lines
14 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 创建库,mysql8.0+以上版本
CREATE DATABASE IF NOT EXISTS apigo default charset utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- 建表
use apigo;
-- 1.0
CREATE TABLE `base_api_info` (
`api_id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`api_name` varchar(512) DEFAULT NULL,
`api_path` varchar(512) DEFAULT NULL COMMENT 'API路径',
`api_type` varchar(30) DEFAULT NULL COMMENT 'API类型:sql、table',
`api_method` varchar(30) DEFAULT NULL COMMENT '请求方式 get、post、put、delete、aptch',
`auth_type` varchar(50) DEFAULT NULL COMMENT '授权类型:none、code、secret',
`enabled` int DEFAULT NULL COMMENT '开放启用 1/0',
`api_status` varchar(50) DEFAULT NULL COMMENT 'API状态:编辑edit、审批audit、发布release、销毁destroy',
`group_id` int DEFAULT NULL COMMENT '分组ID',
`parent_id` bigint DEFAULT NULL COMMENT '父级关联Id',
`tenant_id` varchar(128) DEFAULT NULL COMMENT '租户ID',
`page_setup` int DEFAULT NULL COMMENT '分页设置,不分页:0, 分页:1',
`transaction_enabled` int DEFAULT 0 COMMENT '是否开启事务 1/0',
`rate_limit_window_seconds` int DEFAULT NULL COMMENT '限流时间窗口秒数',
`rate_limit_count` int DEFAULT NULL COMMENT '限流窗口请求次数',
`sql_type` varchar(20) DEFAULT NULL COMMENT 'SQL执行类型(select、insert、update、delete)',
`result_type` varchar(30) DEFAULT NULL COMMENT '返回结果类型: one、array、excel',
`sql_script` text COMMENT 'SQL脚本',
`show_sql_script` int DEFAULT NULL COMMENT '是否显示sql脚本 1/0',
`datasource_id` int DEFAULT NULL COMMENT '数据源ID',
`datasource_type` varchar(50) DEFAULT NULL COMMENT '数据源类型',
`schema_name` varchar(100) DEFAULT NULL,
`table_name` varchar(256) DEFAULT NULL COMMENT '表名',
`release_time` datetime DEFAULT NULL COMMENT '发布时间',
`draft_content` longtext COMMENT '已发布接口暂存内容',
`remarks` varchar(1000) DEFAULT NULL COMMENT '描述',
`version` varchar(100) DEFAULT NULL COMMENT '版本',
`create_by` varchar(128) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`update_by` varchar(128) DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY (`api_id`),
KEY `api_path_method_inx` (`api_path`(255),`api_method`) USING BTREE,
KEY `idx_api_status_release_time` (`api_status`, `release_time` DESC),
KEY `idx_group_id` (`group_id`),
KEY `idx_parent_id_status` (`parent_id`, `api_status`)
) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='API信息表';
CREATE TABLE `base_api_log` (
`log_id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键',
`api_id` bigint DEFAULT NULL COMMENT 'api编号',
`api_name` varchar(255) DEFAULT NULL COMMENT 'api名称',
`auth_type` varchar(50) DEFAULT NULL COMMENT '认证方式',
`app_name` varchar(50) DEFAULT NULL COMMENT '应用名称',
`api_method` varchar(20) DEFAULT NULL COMMENT '请求方式',
`api_path` varchar(1000) DEFAULT NULL COMMENT '请求地址',
`request_ip` varchar(128) DEFAULT NULL COMMENT '主机地址',
`query_param` varchar(2000) DEFAULT NULL COMMENT '请求参数',
`request_body` text COMMENT '请求Body参数',
`response_body` longtext COMMENT '返回参数',
`response_code` int DEFAULT NULL COMMENT 'HTTP请求响应码',
`body_size` int DEFAULT NULL COMMENT '响应body大小',
`request_status` varchar(50) DEFAULT NULL COMMENT '操作状态',
`request_time` datetime DEFAULT NULL COMMENT '请求时间',
`response_time` datetime DEFAULT NULL COMMENT '响应时间',
`cost_time` int DEFAULT '0' COMMENT '消耗时间',
`visitor_name` varchar(50) DEFAULT NULL COMMENT '访问人员',
PRIMARY KEY (`log_id`),
KEY `idx_api_id` (`api_id`),
KEY `idx_request_time` (`request_time` DESC),
KEY `idx_app_name` (`app_name`),
KEY `idx_api_id_time` (`api_id`, `request_time` DESC)
) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='接口访问日志';
CREATE TABLE `base_app` (
`app_id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`app_name` varchar(100) NOT NULL COMMENT '应用名创',
`app_desc` varchar(300) DEFAULT NULL COMMENT '描述',
`app_code` varchar(128) DEFAULT NULL COMMENT 'code简单认证',
`app_key` varchar(128) DEFAULT NULL COMMENT '密钥key',
`app_secret` varchar(256) DEFAULT NULL COMMENT '密钥',
`strategy_type` varchar(20) DEFAULT NULL COMMENT '控制策略类型:白名单:white、黑名单black',
`ips` varchar(1000) DEFAULT NULL COMMENT 'IP地址,多个分号隔开',
`enabled` int DEFAULT NULL COMMENT '状态:1启用,0禁用',
`create_by` varchar(128) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`update_by` varchar(128) DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY (`app_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='应用';
CREATE TABLE `base_app_api` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`app_id` bigint NOT NULL COMMENT '应用ID',
`api_id` bigint DEFAULT NULL COMMENT 'ApiId',
`create_by` varchar(128) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_api_id` (`api_id`),
KEY `idx_app_api` (`app_id`, `api_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='应用与API授权关系';
CREATE TABLE `base_datasource` (
`datasource_id` int NOT NULL AUTO_INCREMENT,
`datasource_name` varchar(256) DEFAULT NULL COMMENT '数据源名称',
`datasource_type` varchar(50) DEFAULT NULL COMMENT '数据源类型',
`classify` varchar(50) DEFAULT NULL COMMENT '分类',
`jdbc_url` varchar(512) DEFAULT NULL COMMENT '链接地址',
`host` varchar(50) DEFAULT NULL COMMENT '服务器地址',
`port` varchar(10) DEFAULT NULL COMMENT '端口',
`username` varchar(100) DEFAULT NULL COMMENT '账号',
`password` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '秘密',
`remarks` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`min_idle` int DEFAULT NULL COMMENT '最小连接数',
`max_active` int DEFAULT NULL COMMENT '最大连接数',
`connect_timeout` int DEFAULT NULL COMMENT '连接超时时间',
`idle_timeout` int DEFAULT NULL COMMENT '最大空闲时间',
`max_lifetime` int DEFAULT NULL COMMENT '最大生命周期',
`keepalive_time` int DEFAULT NULL COMMENT '保活时间',
`extend` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '扩展配置',
`secret_key` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '密码解密密钥',
`create_by` varchar(128) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
`update_by` varchar(128) DEFAULT NULL,
PRIMARY KEY (`datasource_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='数据源配置';
-- crabc.base_group definition
CREATE TABLE `base_group` (
`group_id` int NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`parent_id` int NOT NULL COMMENT '父类Id',
`group_name` varchar(500) NOT NULL,
`group_desc` varchar(1000) DEFAULT NULL COMMENT '描述',
`create_by` varchar(128) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`update_by` varchar(128) DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY (`group_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='分组表';
-- crabc.base_sys_user definition
CREATE TABLE `base_sys_user` (
`user_id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`user_name` varchar(30) NOT NULL COMMENT '用户账号',
`nick_name` varchar(30) NOT NULL COMMENT '用户名称',
`user_type` varchar(2) DEFAULT '0' COMMENT '用户类型',
`password` varchar(100) DEFAULT '' COMMENT '密码',
`role` varchar(128) DEFAULT NULL COMMENT '角色',
`email` varchar(50) DEFAULT '' COMMENT '用户邮箱',
`phone` varchar(13) DEFAULT '' COMMENT '手机号码',
`sex` char(1) DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)',
`picture` varchar(100) DEFAULT '' COMMENT '头像',
`status` char(1) DEFAULT '1' COMMENT '帐号状态(0正常 1停用)',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`user_id`),
UNIQUE KEY `uk_user_name` (`user_name`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户信息表';
-- 2.0新增表
DROP TABLE IF EXISTS `base_api_param`;
CREATE TABLE `base_api_param` (
`param_id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`api_id` bigint NOT NULL COMMENT 'apiId',
`param_name` varchar(256) DEFAULT NULL COMMENT '参数名',
`param_type` varchar(30) DEFAULT '1' COMMENT '参数类型:1:请求参数,2:返回参数',
`column_name` varchar(256) DEFAULT NULL COMMENT '关联字段名',
`param_model` varchar(30) DEFAULT NULL COMMENT '参数模型,request,response',
`required` varchar(10) DEFAULT 'Y' COMMENT '是否必填',
`operation` varchar(50) DEFAULT NULL COMMENT '操作符',
`default_value` varchar(512) DEFAULT NULL COMMENT '默认值',
`example` varchar(512) DEFAULT NULL COMMENT '示例值',
`datasource_id` int DEFAULT NULL COMMENT '数据源ID',
`schema_name` varchar(128) DEFAULT NULL COMMENT 'Schema名',
`table_name` varchar(256) DEFAULT NULL COMMENT '表名',
`param_desc` varchar(512) DEFAULT NULL COMMENT '描述',
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`param_id`),
KEY `idx_api_id` (`api_id`),
KEY `idx_api_id_model` (`api_id`, `param_model`)
) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='API接口参数';
-- 初始化数据
INSERT INTO base_sys_user
(user_id, user_name, nick_name, user_type, password, `role`, email, phone, sex, picture, status, create_by, create_time, update_by, update_time, remark)
VALUES(1, 'admin', 'admin', '0', '0192023A7BBD73250516F069DF18B500', 'admin', '', '', '1', '', '1', '1', '2023-03-01 00:00:00', '1', '2023-03-01 00:00:00', '密码:admin123');
INSERT INTO base_group
(group_id, parent_id, group_name, group_desc, create_by, create_time, update_by, update_time)
VALUES(1, 0, '默认分组', 'root', '1', '2023-03-01 00:00:00', '1', '2023-03-01 00:00:00');