Automattic\WooCommerce\Database\Migrations
MetaToCustomTableMigrator::verify_meta_columns()
Helper method to verify meta columns.
Method of the class: MetaToCustomTableMigrator{}
No Hooks.
Return
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_meta_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_meta_columns() MetaToCustomTableMigrator::verify meta columns code WC 9.7.1
private function verify_meta_columns( $row, $failed_ids ) { $primary_key_column = "{$this->schema_config['source']['entity']['table_name']}_{$this->schema_config['source']['entity']['primary_key']}"; foreach ( $this->meta_column_mapping as $meta_key => $schema ) { $meta_alias = "meta_source_{$schema['destination']}"; $destination_alias = "{$this->schema_config['destination']['table_name']}_{$schema['destination']}"; $row = $this->pre_process_row( $row, $schema, $meta_alias, $destination_alias ); if ( $row[ $meta_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' => $meta_key, 'original_value' => $row[ $meta_alias ], 'new_value' => $row[ $destination_alias ], ); } } return $failed_ids; }