Drupal 8 API tutorials
Want to learn about the Drupal 8 APIs, with worked examples? Follow my series of tutorials, covering routing, caching, entities, config and much more!
Want to hire me?
Recent blogposts
-
Altering the length of a Drupal 8 text field that contains data
Friday, July 21, 2017 - 11:31 -
A menagerie of testing: behavioural, unit, system, smoke, regression, oh my!
Friday, June 2, 2017 - 10:11 -
Including Javascript in Behat tests, all inside a headless, virtual machine
Tuesday, May 30, 2017 - 16:51
About me
I'm J-P Stacey, and I'm a freelance technical developer and software architect, working with Drupal, Javascript, Symfony, PHP and devops, with experience in project and process management and an emphasis on usability.
I live in the UK; my website is self-hosted on bigv.io; my email is hosted by Google, and that's also what I use to share files. (More info|What is this?)
Thanks for sharing! Also
Thanks for sharing! Also worth noting that another common error that can occur with this workflow, even if you do drop the database, is refactoring a field to a different type.
For example: You have a textfield "field_summary" which accepts up to 255 characters and the requirement changes and it needs to store more even more text. So you drop your database, import the remote one, delete that field and re-create it as a Long Text field instead. Sure, you will lose all your data if you don't manually handle it, but you will be able to get away with this refactor and re-create your feature too.
However, once you try to deploy this, Drupal/Features will choke because it won't know to drop that field before recreating it and will throw an exception when trying to revert that feature. Now that I think about it, it may be possible to circumvent this by adding an update hook to excplicitly drop that field before reverting the feature. Either way, it's messy... :)