If you’re running into issues upgrading Mautic from version 5.2.3 to 5.2.5, this post documents a real-world upgrade failure scenario involving Doctrine schema validation, a Duplicate definition of column 'is_published'
error, and persistent problems with entity mappings.
Doctrine Schema Validation Failure
After following all the standard upgrade steps—resetting permissions, clearing cache, running composer install—the following critical error persists:
Duplicate definition of column 'is_published' on entity 'Mautic\DynamicContentBundle\Entity\DynamicContent'
This is reported when running:
php bin/console doctrine:schema:validate
Doctrine Schema Update Breaks with MySQL Error
Attempting to force an update using Doctrine produces this MySQL error:
SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP INDEX IDX_1AE3441319EB6921; check that it exists
Troubleshooting and Diagnosis
- Symfony cache was cleared.
- Composer dependencies installed. No errors on install.
- Confirmed entity class
DynamicContent
does not explicitly defineis_published
. - Confirmed inheritance from
FormEntity
, which definesis_published
using metadata. - Ran
php bin/console doctrine:mapping:info
→ Shows a mapping failure specifically onMautic\DynamicContentBundle\Entity\DynamicContent
.
Root Cause Suspected
The is_published
column is likely being declared twice due to Mautic’s use of:
- Traits (e.g.,
TranslationEntityTrait
,FiltersEntityTrait
) - Inherited metadata from
FormEntity
This causes Doctrine to treat it as a duplicate mapping, breaking both schema validation and updates.
Environment Details
- Mautic Version: 5.2.3 → Attempting 5.2.5
- PHP Version: 8.1 (via Apache)
- Database: MariaDB
- Server: Debian LXC container
Call for Help: Has Anyone Solved This?
If you’ve successfully upgraded from Mautic 5.2.3 to 5.2.5 and solved this exact is_published
column conflict with Doctrine, please comment below or link to a working patch or fix. Does it require:
- Modifying the
FormEntity
base mapping? - A workaround using
@ORM\AttributeOverrides
or Doctrine mapping configs? - A change in plugin structure or namespace handling?
Any direction from the Mautic dev team or community contributors would be appreciated. This seems to affect multiple users trying to stay current with Mautic LTS releases.
Keywords: Mautic upgrade error, doctrine schema duplicate column, is_published entity conflict, mautic 5.2.5 upgrade fails, Mautic DynamicContentBundle, SQLSTATE[42000] IDX_1AE3441319EB6921
Leave a Reply