课程数据库
| .gitea/workflows | ||
| scripts | ||
| 1781687373_create_category.up.sql | ||
| 1781687840_create_course_series.up.sql | ||
| 1781687994_create_course.up.sql | ||
| 1781688012_create_video.up.sql | ||
| 1782366362_create_banner.up.sql | ||
| 1782443855_create_course_work.up.sql | ||
| 1782712612_create_user_course.up.sql | ||
| 1783321230_create_comment.up.sql | ||
| 1783392382_create_notification.up.sql | ||
| 1785393080_table_users_add_xet_user_id.up.sql | ||
| 1785481120_course_video_alive_url.up.sql | ||
| 1787543922_table_series_add_deadline.up.sql | ||
| README.md | ||
数据库迁移
这些文件是历史增量,不是完整数据库。运行全部迁移前,必须导入经授权的脱敏基础结构,至少存在 users.teacher;其他业务表依赖私有 dbtable 模块,也需核对。不要用虚构的 users 表冒充完整初始化。
在上级工作区运行 ./scripts/workspace.ps1 migrate,使用隔离的本地 MySQL 和 golang-migrate 记录版本。已有数据库须先核对 schema_migrations 与实际结构;禁止盲目 force。已执行的 SQL 不修改,新变更新增时间戳文件。
node scripts/check-migrations.mjs 仅检查命名、版本唯一性和非空。SQL 是否可执行须在脱敏基线数据库验证。现有迁移无 down 脚本,生产回退依赖经验证的备份恢复或补偿迁移,不自动回滚。