Change record status: 
Project: 
Introduced in branch: 
8.x-2.x
Introduced in version: 
8.x-2.4
Description: 

In versions of Build Hooks prior to 8.x-2.4 a record of entities to be deployed was stored using dblog module, in the watchdog table.

The issue with this is

  • DBLog module is not recommended for production, for performance reasons
  • Watchdog entries can easily be removed
  • There is no way to link to updated entities because log entries are not the same as entity-references

After this change, a deployment is tracked using a new Deployment content entity.

Changes to other entities are tracked in a contents field, which is a Dynamic Entity Reference field that references any updated entities. This allows for powerful integrations because the actual reference is stored.

Deleted items are stored in a multi-value text field.

Because of this change, there are two deprecations as follows:

  • \Drupal\build_hooks\DeployLogger::LOGGER_CHANNEL_NAME is deprecated, with no replacement
  • \Drupal\build_hooks\DeployLogger::getLogItemsSinceTimestamp is deprecated with no replacement, interact with the Deployment entities instead
Impacts: 
Site builders, administrators, editors
Module developers