Week 1-8: Spring Boot 学习计划完整项目
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
56
week5/sql/init.sql
Normal file
56
week5/sql/init.sql
Normal file
@@ -0,0 +1,56 @@
|
||||
-- =============================================
|
||||
-- Week 5:学生管理系统 v2 数据库初始化
|
||||
-- 新增:users 表(认证)+ 逻辑删除 + RBAC
|
||||
-- =============================================
|
||||
|
||||
CREATE DATABASE IF NOT EXISTS week5_student
|
||||
DEFAULT CHARACTER SET utf8mb4
|
||||
DEFAULT COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
USE week5_student;
|
||||
|
||||
-- 学生表(增加 deleted 字段用于逻辑删除,第 7 天)
|
||||
DROP TABLE IF EXISTS student;
|
||||
CREATE TABLE student (
|
||||
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
name VARCHAR(20) NOT NULL COMMENT '姓名',
|
||||
age INT NOT NULL COMMENT '年龄',
|
||||
email VARCHAR(50) NOT NULL COMMENT '邮箱',
|
||||
score INT NOT NULL DEFAULT 0 COMMENT '成绩 0-100',
|
||||
deleted TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除 0-未删 1-已删',
|
||||
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (id),
|
||||
INDEX idx_name (name),
|
||||
INDEX idx_score (score)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生表';
|
||||
|
||||
-- 用户表(Spring Security 认证用,第 2-3 天)
|
||||
DROP TABLE IF EXISTS users;
|
||||
CREATE TABLE users (
|
||||
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||
username VARCHAR(50) NOT NULL UNIQUE COMMENT '用户名',
|
||||
password VARCHAR(200) NOT NULL COMMENT 'BCrypt 加密后的密码',
|
||||
role VARCHAR(20) NOT NULL DEFAULT 'USER' COMMENT '角色:ADMIN / USER',
|
||||
enabled TINYINT NOT NULL DEFAULT 1 COMMENT '是否启用',
|
||||
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
|
||||
|
||||
-- 预置学生数据
|
||||
INSERT INTO student (name, age, email, score) VALUES
|
||||
('张三', 20, 'zhangsan@mail.com', 85),
|
||||
('李四', 22, 'lisi@mail.com', 92),
|
||||
('王五', 19, 'wangwu@mail.com', 78),
|
||||
('赵六', 21, 'zhaoliu@mail.com', 88),
|
||||
('孙七', 23, 'sunqi@mail.com', 95),
|
||||
('周八', 20, 'zhouba@mail.com', 73),
|
||||
('吴九', 22, 'wujiu@mail.com', 81),
|
||||
('郑十', 21, 'zhengshi@mail.com',90);
|
||||
|
||||
-- 用户数据由应用启动时通过 Java 代码自动初始化(保证 BCrypt 哈希正确)
|
||||
-- 默认账号:admin / 123456(ADMIN)、user / 123456(USER)
|
||||
|
||||
SELECT 'student' AS tbl, COUNT(*) AS cnt FROM student
|
||||
UNION ALL
|
||||
SELECT 'users', COUNT(*) FROM users;
|
||||
Reference in New Issue
Block a user