Upgrading from 5.8.2 to 5.9 or 5.9.4 breaks Database

Hey there.

I am trying to upgrade my docker container from 5.8.3 to 5.9 (or 5.9.4) but I am running into database connection errors:

The current docker container I have is running on sqlite3

But this issue also occurs if I spin up a new docker container and use the variables for connecting to a MySQL8 database

[31mconnect ECONNREFUSED 127.0.0.1:3306e[39m

e[33m"Unknown database error"e[39m

e[1me[37mError ID:e[39me[22m
    e[90m500e[39m

e[1me[37mError Code: e[39me[22m
    e[90mECONNREFUSEDe[39m

e[90m----------------------------------------e[39m

e[90mError: connect ECONNREFUSED 127.0.0.1:3306
    at /var/lib/ghost/versions/5.9.4/node_modules/knex-migrator/lib/database.js:57:19
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1247:16)e[39m
e[39m
[2022-08-17 11:40:55] e[35mWARNe[39m Ghost is shutting down
[2022-08-17 11:40:55] e[35mWARNe[39m Ghost has shut down
[2022-08-17 11:40:55] e[35mWARNe[39m Your site is now offline
[2022-08-17 11:40:55] e[35mWARNe[39m Ghost was running for a few seconds

(^ This constantly loops until I stop the container and I cannot drop into /bin/bash to try and adjust anything ^)

Has sqlite support been removed from Ghost in 5.9?

Provide details of your host & operating system
Hetzner dedicated server, running Proxmox 6.3 with the following VM:
OS: Debian 11.3 running Plesk 18.0.45 Update #2

Any help would be appreciated.

No, SQLite3 support was removed in 5.0, but the docker image didn’t take drastic enough action to make that clear to users. This has been corrected in 5.9.

Breaking changes for Ghost 5.0:

Details of the changes to the docker image are here:

OK thanks for that. The addition of the variables does allow it to work (Yes, I know it’s very much unsupported)

I will look about implementing MySQL 8 if I can. Debian on Plesk only ships with MariaDB and I have a lot of databases, so changing is not going to be easy. I tried it last night with a MySQL 8 docker container but it only wanted to seem to connect to my internal IP instead of the external IP that I declared, but that issue is not for here… it’s something I have to resolve.

Thanks again.

EDIT: I managed to get MySQL8 working. I spun up a new ghost container using MySQL8 and got everything imported. Job done :smiley: