refactor: 将 ORM 实体类 ID 改为数据库自增
- 修改 BaseEntity 的 @TableId 从 ASSIGN_ID 改为 AUTO - 创建 V11 迁移脚本将所有表的 id 列改为 AUTO_INCREMENT Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
7e96b80a38
commit
2e68b99975
@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@ -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';
|
||||
Loading…
Reference in New Issue
Block a user