Automattic\WooCommerce\Database\Migrations
MetaToCustomTableMigrator::verify_entity_columns
Helper method to verify and compare core columns.
Method of the class: MetaToCustomTableMigrator{}
No Hooks.
Returns
Array. Array of failed IDs if any, along with columns/meta_key names.
Usage
// private - for code of main (parent) class only $result = $this->verify_entity_columns( $row, $failed_ids );
- $row(array) (required)
- Both migrated and source data for a single row.
- $failed_ids(array) (required)
- Array of failed IDs.
MetaToCustomTableMigrator::verify_entity_columns() MetaToCustomTableMigrator::verify entity columns code WC 10.4.3
private function verify_entity_columns( $row, $failed_ids ) {
$primary_key_column = "{$this->schema_config['source']['entity']['table_name']}_{$this->schema_config['source']['entity']['primary_key']}";
foreach ( $this->core_column_mapping as $column_name => $schema ) {
$source_alias = "{$this->schema_config['source']['entity']['table_name']}_$column_name";
$destination_alias = "{$this->schema_config['destination']['table_name']}_{$schema['destination']}";
$row = $this->pre_process_row( $row, $schema, $source_alias, $destination_alias );
if ( $row[ $source_alias ] !== $row[ $destination_alias ] ) {
if ( ! isset( $failed_ids[ $row[ $primary_key_column ] ] ) ) {
$failed_ids[ $row[ $primary_key_column ] ] = array();
}
$failed_ids[ $row[ $primary_key_column ] ][] = array(
'column' => $column_name,
'original_value' => $row[ $source_alias ],
'new_value' => $row[ $destination_alias ],
);
}
}
return $failed_ids;
}