BUG - Ghost update 4.46 > 4.47 (Mariadb)

BUG - Ghost update 4.46 > 4.47 (Mariadb)
Photo by Elisa Ventur / Unsplash

Ghost (eine Blogsoftware) unterstützt offiziell nur MySQL, aber keine Mariadb...

Das (aus heutiger Sicht) letzte Update hat leider einen Bug integriert, wodurch die Datenbank-Migration fehlschlägt. Grund hierfür ist die darunterliegende Bibliothek Knex, wofür bereits ein Issue und Fix bereitsteht, aber noch zur Annahme aussteht:

https://github.com/TryGhost/Ghost/issues/14634#issuecomment-1114989262
https://github.com/knex/knex/issues/5154

Hierbei wird versucht den Standardwert einer Spalte zu setzen, wobei der SQL-Befehl falsch zusamengebaut wird.

Wie man diesen Hotfix temporär einspielt (Docker basiert):

# WICHTIG: $GHOST_CONTAINER durch Namen des Docker-Containers ersetzen!

docker cp $GHOST_CONTAINER:/var/lib/ghost/current/node_modules/knex/lib/dialects/mysql/query/mysql-querycompiler.js /tmp

# Zeile 134 patchen
sed "134s/.*/            defaultValue: val.COLUMN_DEFAULT === 'NULL' ? null : val.COLUMN_DEFAULT,/" /tmp/mysql-querycompiler.js

docker cp /tmp/mysql-querycompiler.js $GHOST_CONTAINER:/var/lib/ghost/current/node_modules/knex/lib/dialects/mysql/query/mysql-querycompiler.js

docker restart $GHOST_CONTAINER