Correct the upgrade documentation?

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ā€™!:
:heavy_check_mark: 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.

The issue is well documented here:

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.

Aah unfortunate word choice :grin: I meant documentation as in the reasoning for the issue and how to solve it, not that officialdocumentation exists

1 Like

Well yes, and I should add: thank you, for helping out!

Thanks Vikas,

I was on MySQL 8 from the start, and went from v3.36 to v3.42 without any issues, so this one will remain a mystery.