Did a recent upgrade from v3 to v4 however encountered an undocumented pre-requisite.
The v4 upgrade errored: Message: Ghost was able to start, but errored during boot with: update `members_stripe_customers_subscriptions` set `stripe_price_id` = '' - ER_BAD_FIELD_ERROR: Unknown column 'stripe_price_id' in 'field list' Suggestion: journalctl -u ghost_mundaringshed-org-au -n 50
The only clue available from ghost.org is this warning about database removal:
I renamed the old database, then re-ran ghost upgrade. No errors, ‘nothing to see here’!:
Checking for latest Ghost version
All up to date!
After ghost start, everything appears to be present and correct.
I was following:
… which says nothing about database removal. If true, it’s a daft idea and rather scary.
Either this error needs to be caught and explained in plain english, or the documentation needs to warn that database deletion is required prior to the upgrade. None of this is intuitive or even meaningful to an experienced developer, so it badly needs documenting.
You never need to delete your database when updating Ghost. It sounds like your MySQL version updated to version 8 which changes the default character set and creates issues due to conflicting character sets between tables.
I think he meant documentation as in the /ghost.org docs. You’re referring to the forum.
One vital piece of information that really ought to be in the docs, I think, is that it seems not to be possible to do a rollback after a failed upgrade from 3 to 4.