99 lines
4.8 KiB
MySQL
99 lines
4.8 KiB
MySQL
|
|
-- ============================================================
|
|||
|
|
-- 盘古用户平台 - 学校管理模块数据库脚本
|
|||
|
|
-- 作者:湖北新华业务中台研发团队
|
|||
|
|
-- 创建时间:2026-01-31
|
|||
|
|
-- ============================================================
|
|||
|
|
|
|||
|
|
-- ----------------------------
|
|||
|
|
-- 1. 学校表
|
|||
|
|
-- ----------------------------
|
|||
|
|
CREATE TABLE IF NOT EXISTS `pg_school` (
|
|||
|
|
`school_id` bigint NOT NULL AUTO_INCREMENT COMMENT '学校ID',
|
|||
|
|
`school_code` varchar(32) NOT NULL COMMENT '学校编码',
|
|||
|
|
`school_name` varchar(100) NOT NULL COMMENT '学校名称',
|
|||
|
|
`school_type` char(2) DEFAULT NULL COMMENT '学校类型(01小学 02初中 03高中 04完全中学 99其他)',
|
|||
|
|
`region_id` bigint NOT NULL COMMENT '所属区域ID',
|
|||
|
|
`region_path` varchar(200) DEFAULT NULL COMMENT '区域路径(如:湖北省-武汉市-武昌区)',
|
|||
|
|
`address` varchar(255) DEFAULT NULL COMMENT '详细地址',
|
|||
|
|
`contact_person` varchar(50) DEFAULT NULL COMMENT '联系人',
|
|||
|
|
`contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
|
|||
|
|
`status` char(1) DEFAULT '0' 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 '更新时间',
|
|||
|
|
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
|
|||
|
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
|||
|
|
PRIMARY KEY (`school_id`),
|
|||
|
|
UNIQUE KEY `uk_school_code` (`school_code`),
|
|||
|
|
KEY `idx_region_id` (`region_id`),
|
|||
|
|
KEY `idx_school_name` (`school_name`)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学校表';
|
|||
|
|
|
|||
|
|
-- ----------------------------
|
|||
|
|
-- 2. 学校年级关联表
|
|||
|
|
-- ----------------------------
|
|||
|
|
CREATE TABLE IF NOT EXISTS `pg_school_grade` (
|
|||
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
|||
|
|
`school_id` bigint NOT NULL COMMENT '学校ID',
|
|||
|
|
`grade_id` bigint NOT NULL COMMENT '年级ID',
|
|||
|
|
`order_num` int DEFAULT 0 COMMENT '显示顺序',
|
|||
|
|
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
|||
|
|
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
|||
|
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
|||
|
|
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
|
|||
|
|
PRIMARY KEY (`id`),
|
|||
|
|
UNIQUE KEY `uk_school_grade` (`school_id`, `grade_id`),
|
|||
|
|
KEY `idx_school_id` (`school_id`),
|
|||
|
|
KEY `idx_grade_id` (`grade_id`)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学校年级关联表';
|
|||
|
|
|
|||
|
|
-- ----------------------------
|
|||
|
|
-- 3. 学校班级关联表
|
|||
|
|
-- ----------------------------
|
|||
|
|
CREATE TABLE IF NOT EXISTS `pg_school_class` (
|
|||
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
|||
|
|
`school_grade_id` bigint NOT NULL COMMENT '学校年级关联ID',
|
|||
|
|
`class_id` bigint NOT NULL COMMENT '班级ID',
|
|||
|
|
`order_num` int DEFAULT 0 COMMENT '显示顺序',
|
|||
|
|
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
|||
|
|
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
|||
|
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
|||
|
|
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
|
|||
|
|
PRIMARY KEY (`id`),
|
|||
|
|
UNIQUE KEY `uk_school_grade_class` (`school_grade_id`, `class_id`),
|
|||
|
|
KEY `idx_school_grade_id` (`school_grade_id`),
|
|||
|
|
KEY `idx_class_id` (`class_id`)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学校班级关联表';
|
|||
|
|
|
|||
|
|
-- ----------------------------
|
|||
|
|
-- 4. 插入测试数据
|
|||
|
|
-- ----------------------------
|
|||
|
|
|
|||
|
|
-- 学校数据(假设区域ID=111是武昌区)
|
|||
|
|
INSERT INTO pg_school (school_id, school_code, school_name, school_type, region_id, region_path, status, create_time) VALUES
|
|||
|
|
(1, 'SCH20260001', '武汉市第一中学', '02', 111, '湖北省-武汉市-武昌区', '0', NOW()),
|
|||
|
|
(2, 'SCH20260002', '武汉市第三中学', '02', 111, '湖北省-武汉市-武昌区', '0', NOW()),
|
|||
|
|
(3, 'SCH20260003', '武汉市水果湖小学', '01', 111, '湖北省-武汉市-武昌区', '0', NOW());
|
|||
|
|
|
|||
|
|
-- 学校-年级关联(武汉市第一中学)
|
|||
|
|
INSERT INTO pg_school_grade (id, school_id, grade_id, order_num, status, create_time) VALUES
|
|||
|
|
(1, 1, 7, 1, '0', NOW()), -- 七年级
|
|||
|
|
(2, 1, 8, 2, '0', NOW()), -- 八年级
|
|||
|
|
(3, 1, 9, 3, '0', NOW()); -- 九年级
|
|||
|
|
|
|||
|
|
-- 学校-年级关联(武汉市水果湖小学)
|
|||
|
|
INSERT INTO pg_school_grade (id, school_id, grade_id, order_num, status, create_time) VALUES
|
|||
|
|
(4, 3, 1, 1, '0', NOW()), -- 一年级
|
|||
|
|
(5, 3, 2, 2, '0', NOW()), -- 二年级
|
|||
|
|
(6, 3, 3, 3, '0', NOW()), -- 三年级
|
|||
|
|
(7, 3, 4, 4, '0', NOW()), -- 四年级
|
|||
|
|
(8, 3, 5, 5, '0', NOW()), -- 五年级
|
|||
|
|
(9, 3, 6, 6, '0', NOW()); -- 六年级
|
|||
|
|
|
|||
|
|
-- 学校-班级关联(武汉市第一中学-七年级)
|
|||
|
|
INSERT INTO pg_school_class (id, school_grade_id, class_id, order_num, status, create_time) VALUES
|
|||
|
|
(1, 1, 1, 1, '0', NOW()), -- 1班
|
|||
|
|
(2, 1, 2, 2, '0', NOW()), -- 2班
|
|||
|
|
(3, 1, 3, 3, '0', NOW()); -- 3班
|