From 2e68b9997505919c34977e5c24e30625925d8a2a Mon Sep 17 00:00:00 2001 From: En Date: Mon, 16 Mar 2026 15:30:49 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=B0=86=20ORM=20=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E7=B1=BB=20ID=20=E6=94=B9=E4=B8=BA=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E8=87=AA=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 BaseEntity 的 @TableId 从 ASSIGN_ID 改为 AUTO - 创建 V11 迁移脚本将所有表的 id 列改为 AUTO_INCREMENT Co-Authored-By: Claude Opus 4.6 --- .../reading/platform/entity/BaseEntity.java | 4 +- .../V11__change_id_to_auto_increment.sql | 237 ++++++++++++++++++ 2 files changed, 239 insertions(+), 2 deletions(-) create mode 100644 reading-platform-java/src/main/resources/db/migration/V11__change_id_to_auto_increment.sql diff --git a/reading-platform-java/src/main/java/com/reading/platform/entity/BaseEntity.java b/reading-platform-java/src/main/java/com/reading/platform/entity/BaseEntity.java index 56d7fb0..09dc5f7 100644 --- a/reading-platform-java/src/main/java/com/reading/platform/entity/BaseEntity.java +++ b/reading-platform-java/src/main/java/com/reading/platform/entity/BaseEntity.java @@ -23,10 +23,10 @@ import java.time.LocalDateTime; public abstract class BaseEntity { /** - * 主键 ID(雪花算法生成) + * 主键 ID(数据库自增) */ @Schema(description = "主键 ID") - @TableId(type = IdType.ASSIGN_ID) + @TableId(type = IdType.AUTO) private Long id; /** diff --git a/reading-platform-java/src/main/resources/db/migration/V11__change_id_to_auto_increment.sql b/reading-platform-java/src/main/resources/db/migration/V11__change_id_to_auto_increment.sql new file mode 100644 index 0000000..b5b43a3 --- /dev/null +++ b/reading-platform-java/src/main/resources/db/migration/V11__change_id_to_auto_increment.sql @@ -0,0 +1,237 @@ +-- ===================================================== +-- 幼儿园阅读平台数据库迁移脚本 +-- 版本:V11 +-- 创建时间:2026-03-16 +-- 描述:将所有表的 id 列改为数据库自增 +-- ===================================================== + +-- 说明:由于 MySQL 不支持直接修改现有列为自增, +-- 需要重建每张表的 id 列 + +-- ----------------------------------------------------- +-- 1. 管理员用户表 (admin_user) +-- ----------------------------------------------------- +ALTER TABLE `admin_user` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 2. 租户表 (tenant) +-- ----------------------------------------------------- +ALTER TABLE `tenant` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 3. 教师表 (teacher) +-- ----------------------------------------------------- +ALTER TABLE `teacher` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 4. 学生表 (student) +-- ----------------------------------------------------- +ALTER TABLE `student` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 5. 家长表 (parent) +-- ----------------------------------------------------- +ALTER TABLE `parent` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 6. 班级表 (clazz) +-- ----------------------------------------------------- +ALTER TABLE `clazz` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 7. 班级教师关联表 (class_teacher) +-- ----------------------------------------------------- +ALTER TABLE `class_teacher` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 8. 课程表 (course) +-- ----------------------------------------------------- +ALTER TABLE `course` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 9. 课程套餐表 (course_package) +-- ----------------------------------------------------- +ALTER TABLE `course_package` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 10. 套餐课程关联表 (course_package_course) +-- ----------------------------------------------------- +ALTER TABLE `course_package_course` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 11. 主题表 (theme) +-- ----------------------------------------------------- +ALTER TABLE `theme` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 12. 标签表 (tag) +-- ----------------------------------------------------- +ALTER TABLE `tag` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 13. 课程版本表 (course_version) +-- ----------------------------------------------------- +ALTER TABLE `course_version` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 14. 课程资源表 (course_resource) +-- ----------------------------------------------------- +ALTER TABLE `course_resource` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 15. 课程脚本表 (course_script) +-- ----------------------------------------------------- +ALTER TABLE `course_script` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 16. 课程脚本页面表 (course_script_page) +-- ----------------------------------------------------- +ALTER TABLE `course_script_page` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 17. 课程活动表 (course_activity) +-- ----------------------------------------------------- +ALTER TABLE `course_activity` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 18. 课程课时表 (course_lesson) +-- ----------------------------------------------------- +ALTER TABLE `course_lesson` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 19. 课时步骤表 (lesson_step) +-- ----------------------------------------------------- +ALTER TABLE `lesson_step` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 20. 课时步骤资源表 (lesson_step_resource) +-- ----------------------------------------------------- +ALTER TABLE `lesson_step_resource` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 21. 课时反馈表 (lesson_feedback) +-- ----------------------------------------------------- +ALTER TABLE `lesson_feedback` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 22. 任务表 (task) +-- ----------------------------------------------------- +ALTER TABLE `task` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 23. 任务完成表 (task_completion) +-- ----------------------------------------------------- +ALTER TABLE `task_completion` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 24. 任务目标表 (task_target) +-- ----------------------------------------------------- +ALTER TABLE `task_target` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 25. 任务模板表 (task_template) +-- ----------------------------------------------------- +ALTER TABLE `task_template` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 26. 成长记录表 (growth_record) +-- ----------------------------------------------------- +ALTER TABLE `growth_record` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 27. 通知表 (notification) +-- ----------------------------------------------------- +ALTER TABLE `notification` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 28. 家长学生关联表 (parent_student) +-- ----------------------------------------------------- +ALTER TABLE `parent_student` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 29. 学生班级历史表 (student_class_history) +-- ----------------------------------------------------- +ALTER TABLE `student_class_history` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 30. 学生记录表 (student_record) +-- ----------------------------------------------------- +ALTER TABLE `student_record` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 31. 租户课程表 (tenant_course) +-- ----------------------------------------------------- +ALTER TABLE `tenant_course` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 32. 租户套餐表 (tenant_package) +-- ----------------------------------------------------- +ALTER TABLE `tenant_package` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 33. 系统设置表 (system_setting) +-- ----------------------------------------------------- +ALTER TABLE `system_setting` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 34. 排课模板表 (schedule_template) +-- ----------------------------------------------------- +ALTER TABLE `schedule_template` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 35. 排课计划表 (schedule_plan) +-- ----------------------------------------------------- +ALTER TABLE `schedule_plan` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 36. 资源库表 (resource_library) +-- ----------------------------------------------------- +ALTER TABLE `resource_library` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 37. 资源项表 (resource_item) +-- ----------------------------------------------------- +ALTER TABLE `resource_item` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID'; + +-- ----------------------------------------------------- +-- 38. 操作日志表 (operation_log) +-- ----------------------------------------------------- +ALTER TABLE `operation_log` + MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID';