Migration Config
Action_SchedulerMigrationConfig is a builder class that configures the migration runner with source/destination stores and loggers.
Since: 3.0.0
Source: classes/migration/Config.php
Purpose
The Config class defines:
- Where actions are migrating from (source store/logger)
- Where actions are migrating to (destination store/logger)
- Whether this is a dry run
- Optional progress bar for WP-CLI
Properties
| Property | Type | Description |
|---|---|---|
$source_store | ActionScheduler_Store | Store to migrate from |
$source_logger | ActionScheduler_Logger | Logger to migrate from |
$destination_store | ActionScheduler_Store | Store to migrate to |
$destination_logger | ActionScheduler_Logger | Logger to migrate to |
$dry_run | bool | If true, simulates migration without writing |
$progress_bar | ProgressBar | WP-CLI progress indicator |
Methods
get_source_store()
public function get_source_store(): ActionScheduler_StoreReturns the configured source store. Throws RuntimeException if not set.
set_source_store()
public function set_source_store( ActionScheduler_Store $store ): voidSets the source store (typically ActionScheduler_wpPostStore).
get_source_logger()
public function get_source_logger(): ActionScheduler_LoggerReturns the configured source logger. Throws RuntimeException if not set.
set_source_logger()
public function set_source_logger( ActionScheduler_Logger $logger ): voidSets the source logger (typically ActionScheduler_wpCommentLogger).
get_destination_store()
public function get_destination_store(): ActionScheduler_StoreReturns the configured destination store. Throws RuntimeException if not set.
set_destination_store()
public function set_destination_store( ActionScheduler_Store $store ): voidSets the destination store (typically ActionScheduler_DBStoreMigrator).
get_destination_logger()
public function get_destination_logger(): ActionScheduler_LoggerReturns the configured destination logger. Throws RuntimeException if not set.
set_destination_logger()
public function set_destination_logger( ActionScheduler_Logger $logger ): voidSets the destination logger (typically ActionScheduler_DBLogger).
get_dry_run() / set_dry_run()
public function get_dry_run(): bool
public function set_dry_run( bool $dry_run ): voidControls dry run mode. When true, migration is simulated without actual writes.
get_progress_bar() / set_progress_bar()
public function get_progress_bar(): ?ProgressBar
public function set_progress_bar( ProgressBar $progress_bar ): voidOptional progress bar for WP-CLI feedback.
Default Configuration
The Controller builds the default config:
$config = new Config();
$config->set_source_store( new ActionScheduler_wpPostStore() );
$config->set_source_logger( new ActionScheduler_wpCommentLogger() );
$config->set_destination_store( new ActionScheduler_DBStoreMigrator() );
$config->set_destination_logger( new ActionScheduler_DBLogger() );Filter
// Customize migration configuration
add_filter( 'action_scheduler/migration_config', function( $config ) {
// Modify config as needed
return $config;
});