-
-
Notifications
You must be signed in to change notification settings - Fork 10.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migration error on newsletter when upgrading past v4.46.0 [MariaDB] #14634
Comments
same here !!!! |
I can confirm this issue , exact same issue as Kerumen with the following differences in environment:
Hope that info helps |
Hi! Thank you for reporting this error 😊
|
Here is the full log output:
And here is the query result:
|
Still getting this issue with 4.46.1, sadly! Running MariaDB on Debian, 10.5.15-MariaDB-0+deb11u1 Debian 11, also have not ever actually sent a newsletter so this table will be empty. Here's output of above requested items: Debug Information: |
Same problem here, rollbacked with a save to 4.45.0. I'm in mariadb |
Hi all - this seems to be an issue with Knex and MariaDB. I've opened an issue, so hopefully it can be fixed soon 🙂 Just to point out, MariaDB is not an officially supported database for Ghost. It just happened to work given the similarities with MySQL, but we optimize and test for MySQL 5 and 8. Ghost v5 will only support MySQL 8 in production, so I'd strongly suggest switching to MySQL 8 to ensure you're running on the recommended setup. |
Thanks @daniellockyer for the explanation. Unfortunately there are some environments where MySQL is not supported (Archlinux for example) and we have to use MariaDB. MariaDB is supposed to be a drop-in replacement of MySQL so everything should work as expected (and was working until I know this is not totally in your control, I just wanted to note this :) |
Is this issue fixed with 4.47? |
The upstream issue hasn't been fixed yet - details in this comment: #14634 (comment) In the meantime, a friendly forum user has shared how he updated from MariaDB to MySQL8 on Ubuntu here: https://forum.ghost.org/t/how-to-migrate-from-mariadb-10-to-mysql-8/29575 |
Experiencing the same issue since updating to the latest MariaDB and ghost docker images. |
Migrated to MySQL. Fortunately I'm in containers mode with Docker. But I think it's stupid dropping mariaDB. |
Elondro, is MariaDB actually being dropped? I thought issue itself was with MariaDB not Ghost? |
This comment was marked as abuse.
This comment was marked as abuse.
#14446 > MySQL 8 is supported in all environments & the only supported DB for production. |
This comment was marked as abuse.
This comment was marked as abuse.
@Elrondo46 can we perhaps jump into a Discord chat or chat channel. Would you be able to give me a hand? I also run my blog in docker containers using MariaDB... |
yeah why not I don't want to send my personal tag in public |
This comment was marked as abuse.
This comment was marked as abuse.
This comment was marked as abuse.
This comment was marked as abuse.
Please, can we keep the discussion on this thread related to the migration bug and not about the MariaDB support. @daniellockyer could you explain why is this migration required? Isn't it possible to rewrite it without the Knex bug? I've ran dozen of migrations successfully on my Ghost instance. I don't understand why this one, which seems fairly simple, has a bug and that is the first time we see it on MariaDB. Thanks! |
Sure seems we have a hard time keeping it related to migration bug because all the lights point in that dropping MariaDB is intentional? |
This comment was marked as abuse.
This comment was marked as abuse.
This comment was marked as abuse.
This comment was marked as abuse.
This comment was marked as abuse.
This comment was marked as abuse.
Hey all 👋, I've locked this bug to contributor comments only. It's caused by an upstream bug in knex. When a fix is pushed into knex, Ghost's renovate setup will automatically pull it into Ghost, meaning it will be included in the subsequent release. If anyone needs or wants some support with migrating from MariaDB to MySQL, please use the forum. I understand there's a lot of frustration around the clarification that MariaDB is not an officially supported database. As a small team we've always provided a very narrow set of environments that are officially supported to keep our maintenance overhead manageable: Ghost is intended for use with Ubuntu, MySQL, nginx & Node.js LTS. We're not able to support every flavour of environment without differences being handled correctly in the upstream packages. The way to change what's supported would be to contribute the necessary fixes & improvements - we'd absolutely love to see more contributions around database interoperability in knex. |
fixes #14634 - Knex had a bug which fetched the incorrect column default on MariaDB 10.2.7+ - this caused issues with one of the v4.46 migrations and blocked users from updating Ghost - this commit updates Knex v2.0.0 to v2.1.0, which contains the fix
Hey all 👋🏻 @iBotPeaches sent a PR with the fix to Knex and it's been merged + released: knex/knex#5181 We've just released Ghost v4.48.1 with the updated Knex, so this issue should now be fixed. Please update to v4.48.1 using Ghost-CLI 🙂 |
Issue Summary
When I tried to upgrade my Ghost from
v4.44.0
tov4.46.0
I got this error message upon launch:I must add, my
newsletters
table has no data:Steps to Reproduce
v4.46.0
Ghost Version
v4.44.0
Node.js Version
v14.18
How did you install Ghost?
Local install on Linux server
Database type
Other
Browser & OS version
No response
Relevant log / error output
No response
Code of Conduct
The text was updated successfully, but these errors were encountered: