Athletic Press Framework M1-01 阶段开发日志 📅 阶段编号:M1-01:数据库表结构创建与验证

Athletic Press Framework M1-01 阶段开发日志

📅 阶段编号:M1-01:数据库表结构创建与验证

🧭 目标:建立 Athletic Press Framework 独立的数据存储层,为后续赛事录入、成绩统计、打印与可视化奠定基础。

🧩 开发内容

插件路径:/wp-content/plugins/athletic-press-core-v0.1.0/

新增文件:inc/db.php

主文件修改:在 autoload_apc() 中加入 ‘db’,确保优先加载

数据表:wp_ap_events 与 wp_ap_results

🧱 表结构设计摘要

表 1:wp_ap_events — 赛事基本信息

字段名 类型 说明
id BIGINT 主键
title VARCHAR(255) 赛事名称
event_type VARCHAR(50) 项目类型(athletics/football/fun 等)
grade VARCHAR(50) 年级或组别
venue VARCHAR(100) 比赛场地
date DATETIME 比赛时间
status VARCHAR(20) 状态:draft/scheduled/finished
lane_count TINYINT 道次数(适用于田径)
notes TEXT 备注
created_at / updated_at DATETIME 自动记录时间

表 2:wp_ap_results — 成绩记录表

字段名 类型 说明
id BIGINT 主键
event_id BIGINT 所属赛事 ID
player_id BIGINT 选手 ID(可选)
team_id BIGINT 队伍 ID(可选)
lane TINYINT 道次号
score DECIMAL(10,3) 成绩(秒/米/分)
unit VARCHAR(10) 单位(sec/m/point)
rank TINYINT 名次
is_record BOOLEAN 是否破纪录
notes TEXT 附注
created_at DATETIME 创建时间

🧠 技术实现

  • 使用 dbDelta() 自动建表,支持未来结构升级。
  • 激活即建表:插件激活后自动检测表是否存在。
  • 精度标准:score 字段采用 DECIMAL(10,3),满足千分之一秒和毫米精度。
  • 兼容性:表前缀由 $wpdb->prefix 自动适配多站点环境。

🧪 验证命令

sudo -u www-data wp plugin deactivate athletic-press-core-v0.1.0
sudo -u www-data wp plugin activate athletic-press-core-v0.1.0
sudo -u www-data wp db query “SHOW TABLES LIKE ‘%ap_%’;”

📌 阶段成果

  • 成功建立 Athletic Press 独立数据库;
  • 可支持后续所有项目的通用赛事与成绩数据;
  • 架构完成度:30% → 50%;
  • 里程碑:Athletic Press 从插件时代迈向框架时代。

🧾 阶段结论

本阶段标志着 “Athletic Press Core” 具备独立的数据核心。后续所有模块(赛事录入、成绩展示、打印系统)都将以此为底层。系统安全、兼容、可扩展,满足 1.0 版本的架构要求。

🧭 下一阶段(M1-02)

目标:在 WordPress 后台添加“赛事管理(AP Events)”与“成绩管理(AP Results)”两个菜单,实现后台录入 UI,可对 wp_ap_events 与 wp_ap_results 表进行增删改查(CRUD)。


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注