2026-01-31 17:55:58 +08:00
|
|
|
|
-- ============================================================
|
|
|
|
|
|
-- 盘古用户平台 - 基础数据模块建表脚本
|
2026-02-01 13:27:32 +08:00
|
|
|
|
-- 作者:pangu
|
2026-01-31 17:55:58 +08:00
|
|
|
|
-- 创建时间:2026-01-31
|
|
|
|
|
|
-- 说明:包含年级、班级、学科、区域四个表及初始化数据
|
|
|
|
|
|
-- 数据库:pguser-db(8.148.25.55:3306)
|
|
|
|
|
|
-- ============================================================
|
|
|
|
|
|
|
|
|
|
|
|
USE `pguser-db`;
|
|
|
|
|
|
|
|
|
|
|
|
-- ============================================================
|
|
|
|
|
|
-- 1. 年级字典表
|
|
|
|
|
|
-- ============================================================
|
|
|
|
|
|
DROP TABLE IF EXISTS `pg_grade`;
|
|
|
|
|
|
CREATE TABLE `pg_grade` (
|
|
|
|
|
|
`grade_id` bigint NOT NULL AUTO_INCREMENT COMMENT '年级ID',
|
|
|
|
|
|
`grade_code` varchar(32) NOT NULL COMMENT '年级编码',
|
|
|
|
|
|
`grade_name` varchar(50) NOT NULL COMMENT '年级名称',
|
|
|
|
|
|
`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 '创建时间',
|
|
|
|
|
|
`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 (`grade_id`),
|
|
|
|
|
|
UNIQUE KEY `uk_grade_code` (`grade_code`)
|
|
|
|
|
|
) ENGINE=InnoDB AUTO_INCREMENT=100 COMMENT='年级字典表';
|
|
|
|
|
|
|
|
|
|
|
|
-- 年级初始化数据
|
|
|
|
|
|
INSERT INTO `pg_grade` (`grade_id`, `grade_code`, `grade_name`, `order_num`, `status`, `create_by`, `create_time`, `del_flag`) VALUES
|
|
|
|
|
|
(1, 'GRD001', '一年级', 1, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(2, 'GRD002', '二年级', 2, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(3, 'GRD003', '三年级', 3, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(4, 'GRD004', '四年级', 4, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(5, 'GRD005', '五年级', 5, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(6, 'GRD006', '六年级', 6, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(7, 'GRD007', '七年级', 7, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(8, 'GRD008', '八年级', 8, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(9, 'GRD009', '九年级', 9, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(10, 'GRD010', '高一', 10, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(11, 'GRD011', '高二', 11, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(12, 'GRD012', '高三', 12, '0', 'admin', NOW(), '0');
|
|
|
|
|
|
|
|
|
|
|
|
-- ============================================================
|
|
|
|
|
|
-- 2. 班级字典表
|
|
|
|
|
|
-- ============================================================
|
|
|
|
|
|
DROP TABLE IF EXISTS `pg_class`;
|
|
|
|
|
|
CREATE TABLE `pg_class` (
|
|
|
|
|
|
`class_id` bigint NOT NULL AUTO_INCREMENT COMMENT '班级ID',
|
|
|
|
|
|
`class_code` varchar(32) NOT NULL COMMENT '班级编码',
|
|
|
|
|
|
`class_name` varchar(50) NOT NULL COMMENT '班级名称',
|
|
|
|
|
|
`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 '创建时间',
|
|
|
|
|
|
`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 (`class_id`),
|
|
|
|
|
|
UNIQUE KEY `uk_class_code` (`class_code`)
|
|
|
|
|
|
) ENGINE=InnoDB AUTO_INCREMENT=100 COMMENT='班级字典表';
|
|
|
|
|
|
|
|
|
|
|
|
-- 班级初始化数据
|
|
|
|
|
|
INSERT INTO `pg_class` (`class_id`, `class_code`, `class_name`, `order_num`, `status`, `create_by`, `create_time`, `del_flag`) VALUES
|
|
|
|
|
|
(1, 'CLS001', '1班', 1, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(2, 'CLS002', '2班', 2, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(3, 'CLS003', '3班', 3, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(4, 'CLS004', '4班', 4, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(5, 'CLS005', '5班', 5, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(6, 'CLS006', '6班', 6, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(7, 'CLS007', '7班', 7, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(8, 'CLS008', '8班', 8, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(9, 'CLS009', '9班', 9, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(10, 'CLS010', '10班', 10, '0', 'admin', NOW(), '0');
|
|
|
|
|
|
|
|
|
|
|
|
-- ============================================================
|
|
|
|
|
|
-- 3. 学科表
|
|
|
|
|
|
-- ============================================================
|
|
|
|
|
|
DROP TABLE IF EXISTS `pg_subject`;
|
|
|
|
|
|
CREATE TABLE `pg_subject` (
|
|
|
|
|
|
`subject_id` bigint NOT NULL AUTO_INCREMENT COMMENT '学科ID',
|
|
|
|
|
|
`subject_code` varchar(32) NOT NULL COMMENT '学科编码',
|
|
|
|
|
|
`subject_name` varchar(50) NOT NULL COMMENT '学科名称',
|
|
|
|
|
|
`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 '创建时间',
|
|
|
|
|
|
`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 (`subject_id`),
|
|
|
|
|
|
UNIQUE KEY `uk_subject_code` (`subject_code`)
|
|
|
|
|
|
) ENGINE=InnoDB AUTO_INCREMENT=100 COMMENT='学科表';
|
|
|
|
|
|
|
|
|
|
|
|
-- 学科初始化数据
|
|
|
|
|
|
INSERT INTO `pg_subject` (`subject_id`, `subject_code`, `subject_name`, `order_num`, `status`, `create_by`, `create_time`, `del_flag`) VALUES
|
|
|
|
|
|
(1, 'SUB001', '语文', 1, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(2, 'SUB002', '数学', 2, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(3, 'SUB003', '英语', 3, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(4, 'SUB004', '物理', 4, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(5, 'SUB005', '化学', 5, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(6, 'SUB006', '生物', 6, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(7, 'SUB007', '历史', 7, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(8, 'SUB008', '地理', 8, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(9, 'SUB009', '政治', 9, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(10, 'SUB010', '体育', 10, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(11, 'SUB011', '音乐', 11, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(12, 'SUB012', '美术', 12, '0', 'admin', NOW(), '0');
|
|
|
|
|
|
|
|
|
|
|
|
-- ============================================================
|
|
|
|
|
|
-- 4. 区域表(省-市-区三级树形结构)
|
|
|
|
|
|
-- ============================================================
|
|
|
|
|
|
DROP TABLE IF EXISTS `pg_region`;
|
|
|
|
|
|
CREATE TABLE `pg_region` (
|
|
|
|
|
|
`region_id` bigint NOT NULL AUTO_INCREMENT COMMENT '区域ID',
|
|
|
|
|
|
`parent_id` bigint DEFAULT 0 COMMENT '父区域ID',
|
|
|
|
|
|
`region_name` varchar(100) NOT NULL COMMENT '区域名称',
|
|
|
|
|
|
`region_code` varchar(20) DEFAULT NULL COMMENT '区域编码',
|
|
|
|
|
|
`level` tinyint NOT NULL DEFAULT 1 COMMENT '层级(1省 2市 3区)',
|
|
|
|
|
|
`ancestors` varchar(500) DEFAULT '' COMMENT '祖级列表',
|
|
|
|
|
|
`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 '创建时间',
|
|
|
|
|
|
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
|
|
|
|
|
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
|
|
|
|
|
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
|
|
|
|
|
|
PRIMARY KEY (`region_id`),
|
|
|
|
|
|
KEY `idx_parent_id` (`parent_id`)
|
|
|
|
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1000 COMMENT='区域表';
|
|
|
|
|
|
|
|
|
|
|
|
-- 区域初始化数据
|
|
|
|
|
|
-- 省级
|
|
|
|
|
|
INSERT INTO `pg_region` (`region_id`, `parent_id`, `region_name`, `region_code`, `level`, `ancestors`, `order_num`, `status`, `create_by`, `create_time`, `del_flag`) VALUES
|
|
|
|
|
|
(1, 0, '湖北省', 'REG01', 1, '0', 1, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(2, 0, '北京市', 'REG02', 1, '0', 2, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(3, 0, '上海市', 'REG03', 1, '0', 3, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(4, 0, '广东省', 'REG04', 1, '0', 4, '0', 'admin', NOW(), '0');
|
|
|
|
|
|
|
|
|
|
|
|
-- 市级(湖北省)
|
|
|
|
|
|
INSERT INTO `pg_region` (`region_id`, `parent_id`, `region_name`, `region_code`, `level`, `ancestors`, `order_num`, `status`, `create_by`, `create_time`, `del_flag`) VALUES
|
|
|
|
|
|
(11, 1, '武汉市', 'REG0101', 2, '0,1', 1, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(12, 1, '黄冈市', 'REG0102', 2, '0,1', 2, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(13, 1, '宜昌市', 'REG0103', 2, '0,1', 3, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(14, 1, '襄阳市', 'REG0104', 2, '0,1', 4, '0', 'admin', NOW(), '0');
|
|
|
|
|
|
|
|
|
|
|
|
-- 区级(武汉市)
|
|
|
|
|
|
INSERT INTO `pg_region` (`region_id`, `parent_id`, `region_name`, `region_code`, `level`, `ancestors`, `order_num`, `status`, `create_by`, `create_time`, `del_flag`) VALUES
|
|
|
|
|
|
(111, 11, '武昌区', 'REG010101', 3, '0,1,11', 1, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(112, 11, '洪山区', 'REG010102', 3, '0,1,11', 2, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(113, 11, '江岸区', 'REG010103', 3, '0,1,11', 3, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(114, 11, '江汉区', 'REG010104', 3, '0,1,11', 4, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(115, 11, '汉阳区', 'REG010105', 3, '0,1,11', 5, '0', 'admin', NOW(), '0'),
|
2026-02-01 23:20:45 +08:00
|
|
|
|
(116, 11, '江夏区', 'REG010106', 3, '0,1,11', 6, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(117, 11, '硚口区', 'REG010107', 3, '0,1,11', 7, '0', 'admin', NOW(), '0');
|
2026-01-31 17:55:58 +08:00
|
|
|
|
|
|
|
|
|
|
-- 区级(黄冈市)
|
|
|
|
|
|
INSERT INTO `pg_region` (`region_id`, `parent_id`, `region_name`, `region_code`, `level`, `ancestors`, `order_num`, `status`, `create_by`, `create_time`, `del_flag`) VALUES
|
|
|
|
|
|
(121, 12, '黄州区', 'REG010201', 3, '0,1,12', 1, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(122, 12, '红安县', 'REG010202', 3, '0,1,12', 2, '0', 'admin', NOW(), '0'),
|
|
|
|
|
|
(123, 12, '麻城市', 'REG010203', 3, '0,1,12', 3, '0', 'admin', NOW(), '0');
|