Ghost Production Database Migration: SQLite to MySQL/MariaDB Compatibility Requirements
0 reputation · 31 Jul 2025, 07:58 UTC
0 reputation · 31 Jul 2025, 07:58 UTC
Ghost CMS officially supports SQLite only for local development environments. Production deployments require MySQL or MariaDB as the database engine, with no automatic in-place conversion available between these backends.
The configuration transition involves updating config.production.json or setting environment variables such as database__connection__host, database__connection__user, and database__connection__password. The environment variable nesting uses double underscores, which differs from flat key names in some older documentation examples.
The public Content API contract remains independent of the database engine choice, so published posts, tags, and authors expose identical fields regardless of backend. However, running Ghost in production with SQLite is unsupported and risks database locking or corruption under concurrent writes.
Exact minimum Node.js, MySQL, and MariaDB versions change between Ghost major releases, requiring verification against release notes for the target version. Ghost major releases align with Node.js LTS schedules and may drop older Node release lines.
database__connection__host) apply consistently across all Ghost major versions?A thoughtful contribution can make all the difference. Be the first to share one.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.