// 表清单 + 枚举/表名总览(academic 域 27 表装配入口)。 // // 用途:装配层(cmd/api/main.go,AC-14 接线)与集成测试把本域全表合并进 // `infra/db.Migrate`(AutoMigrate 幂等建表,guarded by UNIFIED_AUTO_MIGRATE=1)。 // // 表清单与 unified/02-data-model/academic-model-ddl.sql 一一对应(顺序与该 DDL 的建表顺序一致): // // 第一部分 资金账户与流水(6):t_user_expense / t_user_expense_school / t_user_expense_log / // t_user_balance_request / t_order_pay / t_payment_log // 第二部分 活动(7):t_courses_activity / _signed / _user_discount / _user_discount_log / // _used_log / _request / _visit // 第三部分 分账(2):t_user_divide_into / t_user_divide_into_log // 第四部分 课程/排班/打卡(6):t_courses / _classify / _class / _student / _record / _record_student // 第五部分 课酬与支出(6):t_course_payment / _detail / t_teacher_information / // t_teacher_courses_percentage / t_expenditure / t_expenditure_log // // 7 张旧 UUID 主键表(设计 §2.2 / §11.1 拍板 11-10):一律 int64 自增主键 + biz_no varchar(32) UNIQUE // 保留旧 UUID —— t_user_balance_request / t_order_pay / t_payment_log / t_courses_activity_request / // t_courses_student / t_courses_record / t_courses_record_student。 package model // AllTables 返回 academic 域全部 model 指针切片(27 张表,供装配层传入 infra/db.Migrate)。 // // 出参:[]any——27 个 *struct 指针;**每次调用返回新切片**(调用方可安全 append, // 不会污染其他调用方持有的切片底层数组,backend-model-field-spec.md §1.8)。 // // 说明:本函数不读取任何全局状态、无副作用;重复调用结果等价(顺序固定,便于测试断言)。 func AllTables() []any { return []any{ // 第一部分:资金账户与流水(6 表) &UserExpense{}, &UserExpenseSchool{}, &UserExpenseLog{}, &UserBalanceRequest{}, &OrderPay{}, &PaymentLog{}, // 第二部分:活动(7 表) &CoursesActivity{}, &CoursesActivitySigned{}, &CoursesActivityUserDiscount{}, &CoursesActivityUserDiscountLog{}, &CoursesActivityUsedLog{}, &CoursesActivityRequest{}, &CoursesActivityVisit{}, // 第三部分:分账(2 表) &UserDivideInto{}, &UserDivideIntoLog{}, // 第四部分:课程 / 班级 / 排班 / 打卡(6 表) &Courses{}, &CoursesClassify{}, &CoursesClass{}, &CoursesStudent{}, &CoursesRecord{}, &CoursesRecordStudent{}, // 第五部分:课酬与支出(6 表) &CoursePayment{}, &CoursePaymentDetail{}, &TeacherInformation{}, &TeacherCoursesPercentage{}, &Expenditure{}, &ExpenditureLog{}, } }