I was using a Drupal composer template and a few days ago, it upgraded from 8.3 to 8.4 automatically. I noticed and didn't really think much of it, so I applied the database updates and went on my way. Today, two days afterwards, I ran across
this article which pointed out that PHP 7 is required for the underlying Symfony framework. Our site is running on Debian 8, which has PHP 5.6 and powers other PHP applications, so I wasn't looking to update the underlying OS and possibly break my other PHP things.
So I downloaded a db snap from 8.3 and then re-applied the 8.4 update and took another database snapshot. Then I diff'd the database snapshots. The biggest changes seemed to be in the cache tables and removing and adding some revision columns. So I reverse-engineered
a backgrade SQL script. With that, I updated the composer.json file from this:
"drupal/core": "~8.0",
to this:
"drupal/core": "8.3.*",
Then I took a precautionary database backup and then did a
composer update, which took care of the code backgrade. Then I ran my script (
drush sqlc < backgrade.sql) and then I did a
drush entity-updates to actually update the database schemas to match the backgraded code.
Now I just need to ignore Drupal telling me about 8.4 until I'm ready to fully embrace PHP 7. I feel like something bigger needed to get my attention to the update in system requirements when I ran the initial
composer update.
No comments:
Post a Comment