log_info( 'Starting per-user cache cleanup' ); // Clean up old per-user cache tracking user meta // These are no longer needed since metrics are now part of the cache key $deleted_meta = $wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key LIKE 'monsterinsights_previous_included_metrics_%'" ); if ( $deleted_meta !== false ) { $this->log_success( sprintf( 'Removed %d per-user cache tracking entries from user meta', $deleted_meta ) ); } else { $this->log_warning( 'Could not remove per-user cache tracking entries: ' . $wpdb->last_error ); } $this->log_success( 'Per-user cache cleanup completed' ); return true; } /** * Run migration down (rollback). * * @since 9.11.0 * @return bool */ public function down() { // Nothing to rollback - user meta deletion is intentional // The monsterinsights_included_metrics user meta is preserved (still in use) $this->log_info( 'No rollback needed for per-user cache cleanup' ); return true; } }