Showing posts from 2017

Drupal 8: Updating field configuration in update hooks

Continuing to Reverting features in update hooks, I encountered a new scenario yesterday where I had to make a field translatable. Somehow we missed to make the field translatable during development and now since we are in update mode we need to handle it for existing sites as well.

At first I looked at the documentation at, which was a bit confusing and not helpful for the case at hand.

Then I looked into some of the core modules but that didn't work for me. For instance comment_update_8300() in docroot/core/modules/comment/comment.install

It made the field translatable in field definition for me using this approach but it didn't update anything in the interface even after doing drush cr and drush entity-updates.

Then I tried to look into how it's done in frontend and found out that it is also stored as entity now and so quickly tried to load it as entity and do the changes. It worked perfectly fine, tricky again and something that might take hours to figure o…

Drupal 8: Reverting features in update hooks

For all the developers of Drupal who had a very good development workflow in place and used to revert features in hook_update_N() to ensure the deployment notes were simply to run update.php or drush updb, there is a good news :)

Project that I'm currently working is in install mode and we are really happy to use features and CMI and get all the configurations stored into modules but today I got a call from the product manager asking me to do include the code in update hooks to ensure it doesn't require re-installing the demo site. At first moment, I was like sure will do that but realised in next few mins, isn't that removed from features in D8? Wait, how will I do this, there is no documentation about reverting configurations, we have drush cim, cex and UI ---- and there came my answer, let me debug and find out how the UI is doing it.

After few mins again, I found the solution - it was just two lines of code, seriously? Yeah, its a bit tricky though.

You can get the pa…