迁移范围:lesson-preparation 11 文件、attendance 3 文件、settings 4 文件、classes-invitations、跨模块接口 4 文件、adaptive-practice/ai/onboarding/invitation-codes/search/standards/scheduling/leave-requests/audit。修复 3 个 cacheFn 块位置错误。同步架构文档迁移范围至 83 文件 250+ 函数。
30 lines
2.4 KiB
SQL
30 lines
2.4 KiB
SQL
CREATE TABLE `lesson_plan_schedules` (
|
||
`id` varchar(128) NOT NULL,
|
||
`plan_id` varchar(128) NOT NULL,
|
||
`class_id` varchar(128) NOT NULL,
|
||
`scheduled_date` date NOT NULL,
|
||
`period` int NOT NULL,
|
||
`class_schedule_id` varchar(128),
|
||
`duration_min` int NOT NULL DEFAULT 40,
|
||
`created_by` varchar(128) NOT NULL,
|
||
`created_at` timestamp NOT NULL DEFAULT (now()),
|
||
`updated_at` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP,
|
||
CONSTRAINT `lesson_plan_schedules_id` PRIMARY KEY(`id`)
|
||
);
|
||
--> statement-breakpoint
|
||
ALTER TABLE `questions` ADD `content_text` text GENERATED ALWAYS AS (CAST(content AS CHAR)) STORED;--> statement-breakpoint
|
||
ALTER TABLE `lesson_plan_schedules` ADD CONSTRAINT `lesson_plan_schedules_plan_id_lesson_plans_id_fk` FOREIGN KEY (`plan_id`) REFERENCES `lesson_plans`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||
ALTER TABLE `lesson_plan_schedules` ADD CONSTRAINT `lesson_plan_schedules_class_id_classes_id_fk` FOREIGN KEY (`class_id`) REFERENCES `classes`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||
ALTER TABLE `lesson_plan_schedules` ADD CONSTRAINT `lesson_plan_schedules_created_by_users_id_fk` FOREIGN KEY (`created_by`) REFERENCES `users`(`id`) ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
||
CREATE INDEX `lpsc_plan_idx` ON `lesson_plan_schedules` (`plan_id`);--> statement-breakpoint
|
||
CREATE INDEX `lpsc_class_date_idx` ON `lesson_plan_schedules` (`class_id`,`scheduled_date`);--> statement-breakpoint
|
||
CREATE INDEX `lpsc_plan_date_idx` ON `lesson_plan_schedules` (`plan_id`,`scheduled_date`);--> statement-breakpoint
|
||
CREATE INDEX `exam_submissions_exam_status_idx` ON `exam_submissions` (`exam_id`,`status`);--> statement-breakpoint
|
||
CREATE INDEX `exam_submissions_submitted_at_idx` ON `exam_submissions` (`submitted_at`);--> statement-breakpoint
|
||
CREATE INDEX `exams_status_created_idx` ON `exams` (`status`,`created_at`);--> statement-breakpoint
|
||
CREATE INDEX `exams_creator_idx` ON `exams` (`creator_id`);--> statement-breakpoint
|
||
CREATE INDEX `questions_type_difficulty_idx` ON `questions` (`type`,`difficulty`);--> statement-breakpoint
|
||
-- P3-6: questions.content_text FULLTEXT 索引(drizzle-kit 无法生成 FULLTEXT 声明,需手动追加)
|
||
-- 要求:InnoDB 引擎 + utf8mb4 字符集(MySQL 5.7+)
|
||
-- 用于 searchQuestions 的 MATCH(content_text) AGAINST(? IN BOOLEAN MODE) 检索
|
||
CREATE FULLTEXT INDEX `questions_content_text_ft_idx` ON `questions` (`content_text`); |