If you’re running Mautic inside a Docker container and trying to upgrade from Mautic 5 to a newer version (still 5.x or beyond), you might hit some nasty errors — like HTTP 500 or database column not found exceptions. This is exactly what one Mautic community member ran into, and it’s worth paying attention to if you manage your Mautic this way.
The core issue here isn’t your Docker setup but the mismatch between the upgraded Mautic application code and your database schema. When you “docker-compose pull” the new Mautic image and spin it up, the app version updates, but your database structure remains unchanged unless you run the proper database migrations.
The error message complaining about a missing “deleted” column in a database query is a classic sign that your database hasn’t been upgraded in sync with the Mautic codebase. Mautic uses Doctrine ORM under the hood, meaning schema changes accompany version upgrades. If those don’t run, your database tables are out of sync and Mautic freaks out.
Upgrading Mautic running in Docker is a two-step process:
- Pull the new image and recreate the container — you’ve got this part right.
- Run the database migrations inside the container before going live. The command to run is
bin/console doctrine:migrations:migrateor sometimesbin/console mautic:update:applydepending on the version. This updates your database schema to match the new application code.
If you skip this, expect errors like the one about unknown columns during campaign rebuilding or other commands.
There’s no official, fully documented step-by-step for upgrades inside Docker in the Mautic docs yet, so this topic is a good heads-up. The community forum thread shows how easy it is to get stuck if you don’t run migrations manually.
On the bright side, this is totally normal behavior and nothing broken with Mautic or Docker itself. The key takeaway is to always run database migrations interactively after updating the Docker image but before trying to load Mautic through the browser.
If that sounds like a chore or you prefer to skip the manual update bumps entirely, hosted platforms like Mailertizer handle these upgrades for you seamlessly. No Docker fuss, no database errors — just an updated, running Mautic every time.
For the full discussion and community exchange on this Docker upgrade snag, check out the original forum thread here.