pangu-user-platform/sql/pangu_school.sql

99 lines
4.8 KiB
SQL
Raw 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.

-- ============================================================
-- 盘古用户平台 - 学校管理模块数据库脚本
-- 作者pangu
-- 创建时间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班