Skip to content

IBX-12043: Upgraded to Doctrine DBAL 4 - #90

Merged
ViniTou merged 1 commit into
6.0from
dbal-4-upgrade
Sep 3, 2026
Merged

IBX-12043: Upgraded to Doctrine DBAL 4#90
ViniTou merged 1 commit into
6.0from
dbal-4-upgrade

Conversation

@ViniTou

@ViniTou ViniTou commented Aug 19, 2026

Copy link
Copy Markdown
Contributor
🎫 Issue IBX-12043

Description:

DatabasePlatformResolver moved to ibexa/doctrine-schema as part of this upgrade, so the System Info page died while rendering with Class "Ibexa\Core\Persistence\Doctrine\DatabasePlatformResolver" not found. The resolver also returns null for a platform it does not recognise instead of throwing, so the catch (InvalidArgumentException) around it could never fire and ->value would have fataled on an unknown platform.

ibexa/doctrine-schema becomes a direct requirement rather than a dev one, since production code imports from it instead of relying on it arriving through ibexa/core.

The metrics collectors needed the DBAL 4 pass too: ExpressionBuilder is string-only and was being handed status constants as integers, and one join condition passed a CompositeExpression. That last one was suppressed in phpstan-baseline.neon rather than fixed — a baseline silences the analyser, not PHP, so it was a TypeError waiting for the drafts metric to run. The entry is removed.

For QA:

Admin → System Information, specifically the database section, plus the repository metrics shown there.

Documentation:

N/A

Comment thread composer.json Outdated
DatabasePlatformResolver moved to ibexa/doctrine-schema, so the System Info page died with "Class Ibexa\Core\Persistence\Doctrine\DatabasePlatformResolver not found" while rendering. The resolver also returns null for an unrecognised platform rather than throwing, so the catch it was wrapped in could never fire. doctrine-schema becomes a direct requirement, since production code now imports from it rather than relying on it arriving through ibexa/core.

Join conditions and ExpressionBuilder are string-only in DBAL 4. One join condition was suppressed in the PHPStan baseline rather than fixed, which hid a TypeError that only shows up when the metric runs; that entry is gone.
@ViniTou ViniTou changed the title [TMP] IBX-12043: Upgraded to Doctrine DBAL 4 IBX-12043: Upgraded to Doctrine DBAL 4 Sep 3, 2026
@sonarqubecloud

sonarqubecloud Bot commented Sep 3, 2026

Copy link
Copy Markdown

@ViniTou
ViniTou merged commit 79a3adf into 6.0 Sep 3, 2026
15 checks passed
@ViniTou
ViniTou deleted the dbal-4-upgrade branch September 3, 2026 11:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants