function tmgmt_extension_suit_update_8301 in TMGMT Extension Suite 8.3
Add missing columns.
Adds tes_source_content_hash and job_file_name columns to tmgmt_job_item and tmgmt_job tables accordingly if any.
File
- ./
tmgmt_extension_suit.install, line 277 - Update function for the tmgmt_extension_suit module.
Code
function tmgmt_extension_suit_update_8301() {
$entity_definition_manager = Drupal::entityDefinitionUpdateManager();
$schema = Database::getConnection()
->schema();
if (!$schema
->fieldExists("tmgmt_job_item", "tes_source_content_hash")) {
$field_storage_definition = BaseFieldDefinition::create('string')
->setLabel(t('Source content hash (md5)'))
->setSetting('max_length', 32)
->setTranslatable(FALSE);
$entity_definition_manager
->installFieldStorageDefinition('tes_source_content_hash', 'tmgmt_job_item', 'tmgmt_extension_suit', $field_storage_definition);
$tji_ids = \Drupal::entityQuery('tmgmt_job_item')
->execute();
// Set `tes_source_content_hash` value for each job item.
foreach ($tji_ids as $tji_id) {
$job_item = JobItem::load($tji_id);
$job_item
->save();
}
}
if (!$schema
->fieldExists("tmgmt_job", "job_file_name")) {
$field_storage_definition = BaseFieldDefinition::create('string')
->setLabel(t('Generated file name'))
->setSetting('max_length', 1024)
->setTranslatable(FALSE);
$entity_definition_manager
->installFieldStorageDefinition('job_file_name', 'tmgmt_job', 'tmgmt_extension_suit', $field_storage_definition);
}
}