I have taxonomy terms of color and I made a typo in one of the color name. It should be 'Crystal Black Pearl' instead of 'Crsytal Black Pearl'. How do I change it using hook_update_N ? Thank you in advance.

function honda_model_install() {
  $term = \Drupal\taxonomy\Entity\Term::create([
    'vid' => 'honda-color', 
    'name' => 'Crsytal Black Pearl',
  • If an editor makes a typo in their article title, are you gonna hook_update_N that too? – No Sssweat Oct 21 '20 at 8:06
  • well I include the Taxonomy Term in the install file, and I couldn't change it after reinstall the module, so I guess hook_update_N is the answer. Can you help me @NoSssweat ? – Deryan Thimoti Oct 21 '20 at 8:08
  • Ah some much needed context. Show us the code in your install file where the typo is. – No Sssweat Oct 21 '20 at 8:12
  • function honda_model_install() {$term = \Drupal\taxonomy\Entity\Term::create([ 'vid' => 'honda-color', 'name' => 'Crystal Black Pearl', ]); $term->save();} I already changed it here but it already written 'Crsytal Black Pearl' in the database – Deryan Thimoti Oct 21 '20 at 8:16


* Fix typo of term name.
function honda_model_update_8101() {
  $terms = \Drupal::entityTypeManager()
        'name' => 'Crsytal Black Pearl',
        'vid' => 'honda-color'
      ]); // load using typo
  if (!empty($terms)) {
    $term = reset($terms);
    $term->setName('Crystal Black Pearl'); // make correction

Make sure you include the block comment, as that's what gets displayed to the user when they go to /update.php

Flush all caches so hook gets pickedup.

PS: once update.php runs it gets recorded in the DB that it ran and it will not run this again. So if you later on need todo another update, you need to add a new hook and increase the number, EX: honda_model_update_8102.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.