Change-set detection

Compared to Pacemaker Community Edition, the Pacemaker Professional Edition contains a change-set detection feature.

  • The change-set configuration is a simple array with the attribute names as values

  • It can get configured individually for each entity, e.g., for the entity catalog_product_entity

Configuration

Option Default Description

--use-change-set

false

Activate/deactivate the Change-set detection

  • true | false

All values in the database and the CSV files are in general of type string.

It is not necessary to define the type string, instead not specify a value but set it to null.

  • That will prevent Pacemaker from performing the expensive categorization

Do not forget to add the --cache-enabled=true parameter also, otherwise, performance will get reduced significantly

The default configuration looks like:
{
  "change-sets": {
    "catalog_product_entity": {
      "type_id": null,
      "updated_at": null,
      "has_options": null,
      "attribute_set_id": null,
      "required_options": null
    }
  }
}

If the value has to get converted to a specific type, e.g. an integer, before it should get compared against the one in the database.

  • It is also possible to specify the type as value

Example

The change-set configuration for the entity catalog_category_product only tries to detect changes of the position attribute, whereas the position attribute must get defined of the type integer.

To override the default configuration, a snipped with the appropriate changes of the change-set configuration can get added:
<magento-install-dir>/app/etc/configuration/change-sets.json
{
  "change-sets": {
    "catalog_category_product": {
      "position": "integer"
    }
  }
}

Console

The change-set detection can be activated when calling the corresponding import command.

Example

To enable the change-set option, add the --use-change-set=true parameter when calling the import:
vendor/bin/import-pro import:products --cache-enabled=true --use-change-set=true