feat(2meet-data-optimizer): store post_status and post_date copies in post entity tables
- TMDO_Post_Status_Sync: post group tables get post_status / post_date
columns (posts' collation) and an (post_status, post_date) index.
Brand-new empty tables get them on creation; existing tables only via
`wp tmdo post-status-sync [--dry-run] [--batch]`, never as DDL on a
populated table in a web request. Per-group state in
tmdo_post_status_columns ('columns' | 'ready').
- transition_post_status refreshes the copies; Hook Bus upserts that
create a post row fill them in (existing rows keep theirs).
- Bench (1M rows): add columns 0.05 s, index 5.3 s, batched backfill 32 s,
0 mismatches afterwards.
- Verify: core unit 659 / integration 466 green, phpcs clean
- PR: PR-028
This commit is contained in:
@@ -109,6 +109,9 @@ class TMDO_Core {
|
||||
// v2.0.0: boot the unified Hook Bus when explicitly enabled.
|
||||
TMDO_Hook_Bus_Bridge::maybe_init_hook_bus();
|
||||
|
||||
// Keep post_status / post_date copies on post entity tables current.
|
||||
TMDO_Post_Status_Sync::register();
|
||||
|
||||
// Register audit log listeners for wpdo_after_write / wpdo_after_delete.
|
||||
if ( class_exists( 'TMDO_Audit_Logger' ) ) {
|
||||
TMDO_Audit_Logger::init();
|
||||
|
||||
Reference in New Issue
Block a user