Files
YelayMaths/yelaymaths_api/tools/legacy/columns.ts
T
2026-09-29 15:25:40 +08:00

62 lines
1.9 KiB
TypeScript

/**
* 旧库表结构(来自 mysqldump 的 CREATE TABLE 顺序)。
* 迁移与体检脚本共用,避免两处各写一份列顺序。
*/
export const LEGACY_COLUMNS = {
用户信息: [
'OpenID',
'YelayMaths_ID',
'用户名',
'是否登录',
'是否管理员',
'注册日期',
'最后登录日期',
'手机号',
'HeadiconID',
],
用户已购课程: ['OpenID', '课程id', '课程', '课程介绍', '购课日期', '最后观看日期', '观看时长'],
课程口令码读取信息: ['课程id', '课程名称', '课程介绍'],
视频课程数据: [
'课程id',
'播放id',
'章节id',
'视频id',
'课程名称',
'章节名称',
'视频名称',
'发布日期',
'时长',
'视频m3u8',
'封面图片',
],
免费视频课程数据: [
'排序',
'序号',
'课程名称',
'视频标题',
'详细介绍',
'发布人',
'发布日期',
'时长',
'视频m3u8',
'封面图片',
],
首页课程列表: ['课程名称', '课程介绍', '课程日期', '课程封面图片', '内容'],
首页免费课程列表: ['序号', '课程名称', '课程介绍', '课程日期', '课程封面图片'],
首页横幅图片: ['序号', '图片名'],
网页列表: ['网页id', '网页标题', '发布日期', '发布人', '详细介绍', '网页内容'],
课程页面Tips: ['id', 'content', 'title'],
cloudconfig: ['ID', 'value', '注释'],
课程口令码: ['课程id', '课程', '口令码', '口令起始日期', '口令结束日期', '课程介绍', '剩余有效次数'],
} as const;
export type LegacyTable = keyof typeof LEGACY_COLUMNS;
/** 含绝对 URL 的内容字段,域名退役时必须批量改写。 */
export const DOMAIN_BEARING_TABLES: LegacyTable[] = ['首页课程列表', '网页列表'];
/** 新库中 entitlements.course_id 的来源课程标识字段。 */
export const COURSE_CODE_RE = /^[0-9a-f]{64}$/;