v2.2更新
This commit is contained in:
28
sql/init.sql
28
sql/init.sql
@@ -202,6 +202,26 @@ CREATE TABLE IF NOT EXISTS `semester_archives` (
|
||||
FOREIGN KEY (`student_id`) REFERENCES `students`(`student_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- 系统设置表
|
||||
CREATE TABLE IF NOT EXISTS `system_settings` (
|
||||
`setting_key` VARCHAR(50) PRIMARY KEY,
|
||||
`setting_value` VARCHAR(255) NOT NULL,
|
||||
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- 性能索引(v2.0)
|
||||
CREATE INDEX `idx_conduct_semester` ON `conduct_records`(`semester_id`);
|
||||
CREATE INDEX `idx_attendance_semester` ON `attendance_records`(`semester_id`);
|
||||
CREATE INDEX `idx_conduct_student` ON `conduct_records`(`student_id`);
|
||||
|
||||
-- 性能索引(v2.1)
|
||||
CREATE INDEX `idx_student_created` ON `conduct_records`(`student_id`, `created_at`);
|
||||
CREATE INDEX `idx_recorder_id` ON `conduct_records`(`recorder_id`);
|
||||
CREATE INDEX `idx_date` ON `attendance_records`(`date`);
|
||||
CREATE INDEX `idx_username_created` ON `login_logs`(`username`, `created_at`);
|
||||
CREATE INDEX `idx_operator_created` ON `operation_logs`(`operator_id`, `created_at`);
|
||||
CREATE INDEX `idx_semester_id` ON `semester_archives`(`semester_id`);
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
-- 插入初始科目(仅语数英,如不存在)
|
||||
@@ -210,4 +230,10 @@ INSERT IGNORE INTO `subjects` (`subject_name`, `subject_code`, `sort_order`) VAL
|
||||
('数学', 'MATH', 2),
|
||||
('英语', 'ENG', 3);
|
||||
|
||||
SELECT '数据库初始化完成!' AS message;
|
||||
-- 初始化系统版本号
|
||||
INSERT INTO `system_settings` (`setting_key`, `setting_value`)
|
||||
VALUES ('db_version', '2.2')
|
||||
ON DUPLICATE KEY UPDATE `setting_value` = '2.2';
|
||||
|
||||
-- 控制台输出初始化结果(含版本号)
|
||||
SELECT CONCAT('数据库初始化完成!版本: v', (SELECT setting_value FROM system_settings WHERE setting_key = 'db_version')) AS message;
|
||||
|
||||
Reference in New Issue
Block a user