v1.7版本更新
This commit is contained in:
35
sql/init.sql
35
sql/init.sql
@@ -48,8 +48,10 @@ CREATE TABLE IF NOT EXISTS `students` (
|
||||
`name` VARCHAR(50) NOT NULL,
|
||||
`total_points` INT DEFAULT 60,
|
||||
`parent_phone` VARCHAR(20) DEFAULT NULL,
|
||||
`dormitory_number` VARCHAR(20) DEFAULT NULL COMMENT '宿舍号',
|
||||
`status` TINYINT DEFAULT 1,
|
||||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
`points_updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '分数最后更新时间',
|
||||
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
@@ -57,7 +59,7 @@ CREATE TABLE IF NOT EXISTS `students` (
|
||||
CREATE TABLE IF NOT EXISTS `users` (
|
||||
`user_id` INT PRIMARY KEY AUTO_INCREMENT,
|
||||
`username` VARCHAR(50) NOT NULL UNIQUE,
|
||||
`password_hash` VARCHAR(64) NOT NULL,
|
||||
`password_hash` VARCHAR(255) NOT NULL,
|
||||
`real_name` VARCHAR(50) NOT NULL,
|
||||
`user_type` ENUM('student', 'parent', 'admin') NOT NULL,
|
||||
`student_id` INT DEFAULT NULL,
|
||||
@@ -440,3 +442,34 @@ INSERT IGNORE INTO `subjects` (`subject_name`, `subject_code`, `sort_order`) VAL
|
||||
('英语', 'ENG', 3);
|
||||
|
||||
SELECT '数据库初始化/迁移完成!' AS message;
|
||||
|
||||
-- ===========================================
|
||||
-- v2.0 迁移脚本
|
||||
-- ===========================================
|
||||
|
||||
-- 扩展密码哈希字段长度以支持bcrypt
|
||||
ALTER TABLE users MODIFY COLUMN password_hash VARCHAR(255) NOT NULL;
|
||||
|
||||
-- 添加宿舍号字段
|
||||
SET @dbname = DATABASE();
|
||||
SET @tablename = 'students';
|
||||
SET @columnname = 'dormitory_number';
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = @dbname AND TABLE_NAME = @tablename AND COLUMN_NAME = @columnname) > 0,
|
||||
'SELECT 1',
|
||||
'ALTER TABLE students ADD COLUMN dormitory_number VARCHAR(20) DEFAULT NULL COMMENT ''宿舍号'' AFTER parent_phone'
|
||||
));
|
||||
PREPARE alterIfNotExists FROM @preparedStatement;
|
||||
EXECUTE alterIfNotExists;
|
||||
DEALLOCATE PREPARE alterIfNotExists;
|
||||
|
||||
-- 添加分数最后更新时间字段
|
||||
SET @columnname = 'points_updated_at';
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = @dbname AND TABLE_NAME = @tablename AND COLUMN_NAME = @columnname) > 0,
|
||||
'SELECT 1',
|
||||
'ALTER TABLE students ADD COLUMN points_updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT ''分数最后更新时间'''
|
||||
));
|
||||
PREPARE alterIfNotExists FROM @preparedStatement;
|
||||
EXECUTE alterIfNotExists;
|
||||
DEALLOCATE PREPARE alterIfNotExists;
|
||||
|
||||
Reference in New Issue
Block a user