Files
2meet-data-optimizer-bookin…/CHANGELOG.md
T
wpdev bb71e38408
Tests / PHP Lint (pull_request) Successful in 6s
fix: partner 偵測符號對齊實際存在的常數 + schema 期望值補齊
TMDO_Bookings::register() 舊版偵測 TMEETIC_Booking_Plugin 類別與 TMEETIC_BOOKING_VERSION 常數(TMEETIC_Booking 則要到 :26 才載入),
在 partner 外掛中並不存在(或載入太晚),偵測實際完全靠 file_exists() 後備
撐著——程式碼讀起來像在驗證「partner 已載入」,實際只驗證了「目錄存在」。

改用 TMB_VERSION / TMB_PLUGIN_DIR,兩者在 partner 主檔的檔案解析當下即
define,早於 plugins_loaded,故本 AddOn bootstrap 的 :6 時點確實可用。
file_exists() 後備保留不動,行為不變;但偵測不再是死碼,即使將來移除後備也
不會重演 infocards-addon 那種「整個 AddOn 靜默失效」的事故。

同一版本另含先前未提交的 schema 工作:補齊 expected_columns / indexes,
並將 registry 索引 config key 由 expected_indexes 更正為 indexes
(wp_parse_args() 會靜默丟棄未知 key,索引期望值先前等同從未送達)。

實測驗證(mu-plugin 於 plugins_loaded:6 量測真實請求):
新常數 AVAILABLE;wp wpdo doctor 89 OK / 0 FAIL;表註冊欄位與索引 100% 完整。
2026-08-09 00:47:26 +08:00

52 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
All notable changes to this AddOn will be documented here.
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
Versioning follows [Semantic Versioning](https://semver.org/).
---
## [Unreleased]
- Phase 4 implementation in progress.
---
## [0.1.1] — 2026-08-08 — 8 張 `2mb_*` 表補齊 schema 期望值
### Added
- 為全部 8 張 `2mb_*` 表補上 `expected_columns` 與索引定義:`2mb_services`
`2mb_availability``2mb_date_overrides``2mb_bookings``2mb_vendor_settings`
`2mb_service_reviews``2mb_waitlist_submissions``2mb_audit_log`。欄位與索引
逐項轉錄自 2meet-bookings activator 的 `CREATE TABLE`。先前只註冊表名,
`wp wpdo doctor` 只知道表存在,無從判斷欄位或索引是否漂移——這正是升級後
漏建欄位/漏建索引最容易矇混過關的地方。
### Fixed
- `TMDO_Custom_Table_Registry::register()` 的索引期望值 config key 由
`expected_indexes` 更正為 `indexes`。該 API 以 `wp_parse_args()` 併入預設值,
未知 key 會被**靜默丟棄**——先前索引期望值等同從未送達 registry,
`wp wpdo doctor` 的 schema drift 只驗欄位、不驗索引。此問題橫跨全部 8 個 AddOn,
已一併更正。
- `TMDO_Bookings::register()` 的 partner 偵測符號對齊實際存在的常數。舊版偵測
`TMEETIC_Booking_Plugin` 類別與 `TMEETIC_BOOKING_VERSION` 常數,兩者在 2meet-bookings
中**根本不存在**`TMEETIC_Booking` 雖存在,但要到 `plugins_loaded:26``tmb_run`
才 require,在本 AddOn bootstrap 的 `:6` 當下必定 MISSING。改用 `TMB_VERSION` /
`TMB_PLUGIN_DIR`,兩者在主檔檔案解析當下即 define,早於 `plugins_loaded`
實測(mu-plugin 於 `plugins_loaded:6` 量測,同一請求內對照):
`TMB_VERSION` = AVAILABLE、`TMEETIC_Booking` = MISSING。
`file_exists()` 後備保留不動,行為不變;但偵測不再是死碼。
---
## [0.1.0] — TBD
### Added (initial release, scaffold)
- Plugin scaffold from `wp-data-optimizer v2.16.0` extraction plan.
- Plugin Header + bootstrap stub + 7 MD + composer.json.
- Requires Plugins: `2meet-data-optimizer`, `2meet-bookings`.