mirror of
https://github.com/fastapi-practices/fastapi_best_architecture.git
synced 2026-03-13 09:31:31 +08:00
439 lines
20 KiB
SQL
439 lines
20 KiB
SQL
SET NAMES utf8mb4;
|
||
SET FOREIGN_KEY_CHECKS = 0;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_api
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_api`;
|
||
CREATE TABLE `sys_api`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
|
||
`name` varchar(50) NOT NULL COMMENT 'api名称',
|
||
`method` varchar(16) NOT NULL COMMENT '请求方法',
|
||
`path` varchar(500) NOT NULL COMMENT 'api路径',
|
||
`remark` longtext COMMENT '备注',
|
||
`created_time` datetime NOT NULL COMMENT '创建时间',
|
||
`updated_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `name` (`name`),
|
||
KEY `ix_sys_api_id` (`id`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_casbin_rule
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_casbin_rule`;
|
||
CREATE TABLE `sys_casbin_rule`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
|
||
`ptype` varchar(255) NOT NULL COMMENT '策略类型: p / g',
|
||
`v0` varchar(255) NOT NULL COMMENT '角色ID / 用户uuid',
|
||
`v1` longtext NOT NULL COMMENT 'api路径 / 角色名称',
|
||
`v2` varchar(255) DEFAULT NULL COMMENT '请求方法',
|
||
`v3` varchar(255) DEFAULT NULL,
|
||
`v4` varchar(255) DEFAULT NULL,
|
||
`v5` varchar(255) DEFAULT NULL,
|
||
PRIMARY KEY (`id`),
|
||
KEY `ix_sys_casbin_rule_id` (`id`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_config
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_config`;
|
||
CREATE TABLE `sys_config`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
|
||
`name` varchar(20) NOT NULL COMMENT '名称',
|
||
`type` varchar(20) DEFAULT NULL COMMENT '类型',
|
||
`key` varchar(50) NOT NULL COMMENT '键名',
|
||
`value` longtext NOT NULL COMMENT '键值',
|
||
`is_frontend` tinyint(1) NOT NULL COMMENT '是否前端',
|
||
`remark` longtext COMMENT '备注',
|
||
`created_time` datetime NOT NULL COMMENT '创建时间',
|
||
`updated_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `key` (`key`),
|
||
KEY `ix_sys_config_id` (`id`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_data_rule
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_data_rule`;
|
||
CREATE TABLE `sys_data_rule`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
|
||
`name` varchar(255) NOT NULL COMMENT '规则名称',
|
||
`model` varchar(50) NOT NULL COMMENT 'SQLA 模型类',
|
||
`column` varchar(20) NOT NULL COMMENT '数据库字段',
|
||
`operator` int NOT NULL COMMENT '运算符(0:and、1:or)',
|
||
`expression` int NOT NULL COMMENT '表达式(0:>、1:>=、2:<、3:<=、4:==、5:!=、6:in、7:not_in)',
|
||
`value` varchar(255) NOT NULL COMMENT '规则值',
|
||
`created_time` datetime NOT NULL COMMENT '创建时间',
|
||
`updated_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `name` (`name`),
|
||
KEY `ix_sys_data_rule_id` (`id`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_dept
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_dept`;
|
||
CREATE TABLE `sys_dept`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
|
||
`name` varchar(50) NOT NULL COMMENT '部门名称',
|
||
`level` int NOT NULL COMMENT '部门层级',
|
||
`sort` int NOT NULL COMMENT '排序',
|
||
`leader` varchar(20) DEFAULT NULL COMMENT '负责人',
|
||
`phone` varchar(11) DEFAULT NULL COMMENT '手机',
|
||
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
|
||
`status` int NOT NULL COMMENT '部门状态(0停用 1正常)',
|
||
`del_flag` tinyint(1) NOT NULL COMMENT '删除标志(0删除 1存在)',
|
||
`parent_id` int DEFAULT NULL COMMENT '父部门ID',
|
||
`created_time` datetime NOT NULL COMMENT '创建时间',
|
||
`updated_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `ix_sys_dept_parent_id` (`parent_id`),
|
||
KEY `ix_sys_dept_id` (`id`),
|
||
CONSTRAINT `sys_dept_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `sys_dept` (`id`) ON DELETE SET NULL
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_dict_data
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_dict_data`;
|
||
CREATE TABLE `sys_dict_data`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
|
||
`label` varchar(32) NOT NULL COMMENT '字典标签',
|
||
`value` varchar(32) NOT NULL COMMENT '字典值',
|
||
`sort` int NOT NULL COMMENT '排序',
|
||
`status` int NOT NULL COMMENT '状态(0停用 1正常)',
|
||
`remark` longtext COMMENT '备注',
|
||
`type_id` int NOT NULL COMMENT '字典类型关联ID',
|
||
`created_time` datetime NOT NULL COMMENT '创建时间',
|
||
`updated_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `label` (`label`),
|
||
UNIQUE KEY `value` (`value`),
|
||
KEY `type_id` (`type_id`),
|
||
KEY `ix_sys_dict_data_id` (`id`),
|
||
CONSTRAINT `sys_dict_data_ibfk_1` FOREIGN KEY (`type_id`) REFERENCES `sys_dict_type` (`id`) ON DELETE CASCADE
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_dict_type
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_dict_type`;
|
||
CREATE TABLE `sys_dict_type`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
|
||
`name` varchar(32) NOT NULL COMMENT '字典类型名称',
|
||
`code` varchar(32) NOT NULL COMMENT '字典类型编码',
|
||
`status` int NOT NULL COMMENT '状态(0停用 1正常)',
|
||
`remark` longtext COMMENT '备注',
|
||
`created_time` datetime NOT NULL COMMENT '创建时间',
|
||
`updated_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `name` (`name`),
|
||
UNIQUE KEY `code` (`code`),
|
||
KEY `ix_sys_dict_type_id` (`id`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_gen_business
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_gen_business`;
|
||
CREATE TABLE `sys_gen_business`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
|
||
`app_name` varchar(50) NOT NULL COMMENT '应用名称(英文)',
|
||
`table_name_en` varchar(255) NOT NULL COMMENT '表名称(英文)',
|
||
`table_name_zh` varchar(255) NOT NULL COMMENT '表名称(中文)',
|
||
`table_simple_name_zh` varchar(255) NOT NULL COMMENT '表名称(中文简称)',
|
||
`table_comment` varchar(255) DEFAULT NULL COMMENT '表描述',
|
||
`schema_name` varchar(255) DEFAULT NULL COMMENT 'Schema 名称 (默认为英文表名称)',
|
||
`default_datetime_column` tinyint(1) NOT NULL COMMENT '是否存在默认时间列',
|
||
`api_version` varchar(20) NOT NULL COMMENT '代码生成 api 版本,默认为 v1',
|
||
`gen_path` varchar(255) DEFAULT NULL COMMENT '代码生成路径(默认为 app 根路径)',
|
||
`remark` longtext COMMENT '备注',
|
||
`created_time` datetime NOT NULL COMMENT '创建时间',
|
||
`updated_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `table_name_en` (`table_name_en`),
|
||
KEY `ix_sys_gen_business_id` (`id`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_gen_model
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_gen_model`;
|
||
CREATE TABLE `sys_gen_model`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
|
||
`name` varchar(50) NOT NULL COMMENT '列名称',
|
||
`comment` varchar(255) DEFAULT NULL COMMENT '列描述',
|
||
`type` varchar(20) NOT NULL COMMENT 'SQLA 模型列类型',
|
||
`pd_type` varchar(20) NOT NULL COMMENT '列类型对应的 pydantic 类型',
|
||
`default` longtext COMMENT '列默认值',
|
||
`sort` int DEFAULT NULL COMMENT '列排序',
|
||
`length` int NOT NULL COMMENT '列长度',
|
||
`is_pk` tinyint(1) NOT NULL COMMENT '是否主键',
|
||
`is_nullable` tinyint(1) NOT NULL COMMENT '是否可为空',
|
||
`gen_business_id` int NOT NULL COMMENT '代码生成业务ID',
|
||
PRIMARY KEY (`id`),
|
||
KEY `gen_business_id` (`gen_business_id`),
|
||
KEY `ix_sys_gen_model_id` (`id`),
|
||
CONSTRAINT `sys_gen_model_ibfk_1` FOREIGN KEY (`gen_business_id`) REFERENCES `sys_gen_business` (`id`) ON DELETE CASCADE
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_login_log
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_login_log`;
|
||
CREATE TABLE `sys_login_log`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
|
||
`user_uuid` varchar(50) NOT NULL COMMENT '用户UUID',
|
||
`username` varchar(20) NOT NULL COMMENT '用户名',
|
||
`status` int NOT NULL COMMENT '登录状态(0失败 1成功)',
|
||
`ip` varchar(50) NOT NULL COMMENT '登录IP地址',
|
||
`country` varchar(50) DEFAULT NULL COMMENT '国家',
|
||
`region` varchar(50) DEFAULT NULL COMMENT '地区',
|
||
`city` varchar(50) DEFAULT NULL COMMENT '城市',
|
||
`user_agent` varchar(255) NOT NULL COMMENT '请求头',
|
||
`os` varchar(50) DEFAULT NULL COMMENT '操作系统',
|
||
`browser` varchar(50) DEFAULT NULL COMMENT '浏览器',
|
||
`device` varchar(50) DEFAULT NULL COMMENT '设备',
|
||
`msg` longtext NOT NULL COMMENT '提示消息',
|
||
`login_time` datetime NOT NULL COMMENT '登录时间',
|
||
`created_time` datetime NOT NULL COMMENT '创建时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `ix_sys_login_log_id` (`id`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_menu
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_menu`;
|
||
CREATE TABLE `sys_menu`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
|
||
`title` varchar(50) NOT NULL COMMENT '菜单标题',
|
||
`name` varchar(50) NOT NULL COMMENT '菜单名称',
|
||
`level` int NOT NULL COMMENT '菜单层级',
|
||
`sort` int NOT NULL COMMENT '排序',
|
||
`icon` varchar(100) DEFAULT NULL COMMENT '菜单图标',
|
||
`path` varchar(200) DEFAULT NULL COMMENT '路由地址',
|
||
`menu_type` int NOT NULL COMMENT '菜单类型(0目录 1菜单 2按钮)',
|
||
`component` varchar(255) DEFAULT NULL COMMENT '组件路径',
|
||
`perms` varchar(100) DEFAULT NULL COMMENT '权限标识',
|
||
`status` int NOT NULL COMMENT '菜单状态(0停用 1正常)',
|
||
`show` int NOT NULL COMMENT '是否显示(0否 1是)',
|
||
`cache` int NOT NULL COMMENT '是否缓存(0否 1是)',
|
||
`remark` longtext COMMENT '备注',
|
||
`parent_id` int DEFAULT NULL COMMENT '父菜单ID',
|
||
`created_time` datetime NOT NULL COMMENT '创建时间',
|
||
`updated_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `ix_sys_menu_id` (`id`),
|
||
KEY `ix_sys_menu_parent_id` (`parent_id`),
|
||
CONSTRAINT `sys_menu_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `sys_menu` (`id`) ON DELETE SET NULL
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_opera_log
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_opera_log`;
|
||
CREATE TABLE `sys_opera_log`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
|
||
`trace_id` varchar(32) NOT NULL COMMENT '请求跟踪 ID',
|
||
`username` varchar(20) DEFAULT NULL COMMENT '用户名',
|
||
`method` varchar(20) NOT NULL COMMENT '请求类型',
|
||
`title` varchar(255) NOT NULL COMMENT '操作模块',
|
||
`path` varchar(500) NOT NULL COMMENT '请求路径',
|
||
`ip` varchar(50) NOT NULL COMMENT 'IP地址',
|
||
`country` varchar(50) DEFAULT NULL COMMENT '国家',
|
||
`region` varchar(50) DEFAULT NULL COMMENT '地区',
|
||
`city` varchar(50) DEFAULT NULL COMMENT '城市',
|
||
`user_agent` varchar(255) NOT NULL COMMENT '请求头',
|
||
`os` varchar(50) DEFAULT NULL COMMENT '操作系统',
|
||
`browser` varchar(50) DEFAULT NULL COMMENT '浏览器',
|
||
`device` varchar(50) DEFAULT NULL COMMENT '设备',
|
||
`args` json DEFAULT NULL COMMENT '请求参数',
|
||
`status` int NOT NULL COMMENT '操作状态(0异常 1正常)',
|
||
`code` varchar(20) NOT NULL COMMENT '操作状态码',
|
||
`msg` longtext COMMENT '提示消息',
|
||
`cost_time` float NOT NULL COMMENT '请求耗时(ms)',
|
||
`opera_time` datetime NOT NULL COMMENT '操作时间',
|
||
`created_time` datetime NOT NULL COMMENT '创建时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `ix_sys_opera_log_id` (`id`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_role
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_role`;
|
||
CREATE TABLE `sys_role`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
|
||
`name` varchar(20) NOT NULL COMMENT '角色名称',
|
||
`status` int NOT NULL COMMENT '角色状态(0停用 1正常)',
|
||
`remark` longtext COMMENT '备注',
|
||
`created_time` datetime NOT NULL COMMENT '创建时间',
|
||
`updated_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `name` (`name`),
|
||
KEY `ix_sys_role_id` (`id`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_role_data_rule
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_role_data_rule`;
|
||
CREATE TABLE `sys_role_data_rule`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||
`role_id` int NOT NULL COMMENT '角色ID',
|
||
`data_rule_id` int NOT NULL COMMENT '数据权限规则ID',
|
||
PRIMARY KEY (`id`, `role_id`, `data_rule_id`),
|
||
UNIQUE KEY `ix_sys_role_data_rule_id` (`id`),
|
||
KEY `role_id` (`role_id`),
|
||
KEY `data_rule_id` (`data_rule_id`),
|
||
CONSTRAINT `sys_role_data_rule_ibfk_1` FOREIGN KEY (`role_id`) REFERENCES `sys_role` (`id`) ON DELETE CASCADE,
|
||
CONSTRAINT `sys_role_data_rule_ibfk_2` FOREIGN KEY (`data_rule_id`) REFERENCES `sys_data_rule` (`id`) ON DELETE CASCADE
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_role_menu
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_role_menu`;
|
||
CREATE TABLE `sys_role_menu`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||
`role_id` int NOT NULL COMMENT '角色ID',
|
||
`menu_id` int NOT NULL COMMENT '菜单ID',
|
||
PRIMARY KEY (`id`, `role_id`, `menu_id`),
|
||
UNIQUE KEY `ix_sys_role_menu_id` (`id`),
|
||
KEY `role_id` (`role_id`),
|
||
KEY `menu_id` (`menu_id`),
|
||
CONSTRAINT `sys_role_menu_ibfk_1` FOREIGN KEY (`role_id`) REFERENCES `sys_role` (`id`) ON DELETE CASCADE,
|
||
CONSTRAINT `sys_role_menu_ibfk_2` FOREIGN KEY (`menu_id`) REFERENCES `sys_menu` (`id`) ON DELETE CASCADE
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_user
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_user`;
|
||
CREATE TABLE `sys_user`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
|
||
`uuid` varchar(50) NOT NULL,
|
||
`username` varchar(20) NOT NULL COMMENT '用户名',
|
||
`nickname` varchar(20) NOT NULL COMMENT '昵称',
|
||
`password` varchar(255) DEFAULT NULL COMMENT '密码',
|
||
`salt` varbinary(255) DEFAULT NULL COMMENT '加密盐',
|
||
`email` varchar(50) NOT NULL COMMENT '邮箱',
|
||
`is_superuser` tinyint(1) NOT NULL COMMENT '超级权限(0否 1是)',
|
||
`is_staff` tinyint(1) NOT NULL COMMENT '后台管理登陆(0否 1是)',
|
||
`status` int NOT NULL COMMENT '用户账号状态(0停用 1正常)',
|
||
`is_multi_login` tinyint(1) NOT NULL COMMENT '是否重复登陆(0否 1是)',
|
||
`avatar` varchar(255) DEFAULT NULL COMMENT '头像',
|
||
`phone` varchar(11) DEFAULT NULL COMMENT '手机号',
|
||
`join_time` datetime NOT NULL COMMENT '注册时间',
|
||
`last_login_time` datetime DEFAULT NULL COMMENT '上次登录',
|
||
`dept_id` int DEFAULT NULL COMMENT '部门关联ID',
|
||
`created_time` datetime NOT NULL COMMENT '创建时间',
|
||
`updated_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uuid` (`uuid`),
|
||
UNIQUE KEY `nickname` (`nickname`),
|
||
UNIQUE KEY `ix_sys_user_username` (`username`),
|
||
UNIQUE KEY `ix_sys_user_email` (`email`),
|
||
KEY `dept_id` (`dept_id`),
|
||
KEY `ix_sys_user_id` (`id`),
|
||
CONSTRAINT `sys_user_ibfk_1` FOREIGN KEY (`dept_id`) REFERENCES `sys_dept` (`id`) ON DELETE SET NULL
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_user_role
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_user_role`;
|
||
CREATE TABLE `sys_user_role`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||
`user_id` int NOT NULL COMMENT '用户ID',
|
||
`role_id` int NOT NULL COMMENT '角色ID',
|
||
PRIMARY KEY (`id`, `user_id`, `role_id`),
|
||
UNIQUE KEY `ix_sys_user_role_id` (`id`),
|
||
KEY `user_id` (`user_id`),
|
||
KEY `role_id` (`role_id`),
|
||
CONSTRAINT `sys_user_role_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `sys_user` (`id`) ON DELETE CASCADE,
|
||
CONSTRAINT `sys_user_role_ibfk_2` FOREIGN KEY (`role_id`) REFERENCES `sys_role` (`id`) ON DELETE CASCADE
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sys_user_social
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sys_user_social`;
|
||
CREATE TABLE `sys_user_social`
|
||
(
|
||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
|
||
`source` varchar(20) NOT NULL COMMENT '第三方用户来源',
|
||
`open_id` varchar(20) DEFAULT NULL COMMENT '第三方用户的 open id',
|
||
`uid` varchar(20) DEFAULT NULL COMMENT '第三方用户的 ID',
|
||
`union_id` varchar(20) DEFAULT NULL COMMENT '第三方用户的 union id',
|
||
`scope` varchar(120) DEFAULT NULL COMMENT '第三方用户授予的权限',
|
||
`code` varchar(50) DEFAULT NULL COMMENT '用户的授权 code',
|
||
`user_id` int DEFAULT NULL COMMENT '用户关联ID',
|
||
`created_time` datetime NOT NULL COMMENT '创建时间',
|
||
`updated_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `user_id` (`user_id`),
|
||
KEY `ix_sys_user_social_id` (`id`),
|
||
CONSTRAINT `sys_user_social_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_0900_ai_ci;
|
||
|
||
SET FOREIGN_KEY_CHECKS = 1;
|