Conversation
This was referenced Jul 20, 2026
Merged
Open
Open
Steveb-p
force-pushed
the
feature/schema-migration-5.0
branch
from
July 24, 2026 10:50
6fd8696 to
e387bc1
Compare
Steveb-p
marked this pull request as ready for review
July 24, 2026 12:18
|
Steveb-p
force-pushed
the
feature/schema-migration-5.0
branch
from
September 18, 2026 18:43
901cf5e to
d136e38
Compare
Steveb-p
added a commit
that referenced
this pull request
Sep 25, 2026
Steveb-p
force-pushed
the
feature/schema-migration-5.0
branch
2 times, most recently
from
September 25, 2026 16:09
2bfac41 to
f9b9e70
Compare
Steveb-p
force-pushed
the
feature/schema-migration-5.0
branch
2 times, most recently
from
October 1, 2026 14:44
433b35f to
fcccf48
Compare
Steveb-p
added this pull request to stack #157
October 4, 2026 20:27
doctrine-migrations 5.0 takes SqlPlatform now, so the migrations that only exist on this branch list SqlPlatform::MARIADB and run their MySQL SQL there too, like the ones from 4.6.
Steveb-p
force-pushed
the
feature/schema-migration-5.0
branch
from
October 5, 2026 12:33
7ddcfc5 to
c0e5c99
Compare
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Warning
Stacked on the
4.6→5.0merge-up #160. Its base branch (base/ibx-11939-4.6-merged-5.0) is the merge-up's branch —5.0with4.6merged in, including #128 and #155 — so this PR shows only what 5.0 needs on top. Fast-forward #160 into5.0first, then retarget this PR to5.0.Warning
This is the 5.0 follow-up to #128 (4.6). It carries the same migration forward onto this branch.
Note
Test-side companion —
ibexa/test-core#57.Moves the baseline fixture import into its own
BaseFixtureHook(priority 950, between theschema hooks and
FixtureHook), switchable with aload_base_fixtureoption.It matters here because under the Doctrine Migrations path the baseline repository content
arrives as core's
ImportDataMigrationrather than as a loaded fixture, andFixtureImportertruncates every table a fixture touches before inserting — so a package's own fixture writing
into those tables would take the baseline's rows with it unless it implements
AppendOnlyFixture.Packages whose integration tests load their own fixtures depend on it; the rest are unaffected.
Note
Shared library —
ibexa/doctrine-migrations.Every migration in the table below extends the
AbstractSqlMigration/SqlPlatformbase it provides.It is already merged on all three branches, so nothing in this effort is blocked on it:
#1 (4.6 baseline) · #3 (6.0 baseline) · #4 (
enable_service_migrationsfix) · #6 (DBAL 4).The fix reached 5.0 and 6.0 via merge-ups #9 and #10 — which is why
#5was closed rather than merged.Related PRs:
#168⏭️#174⏭️#116⏭️#199⏭️#371⏭️#342🩹 ⏭️#51⏭️#210🩹 ⏭️#242🩹 ⏭️#135⏭️#440⏭️#50⏭️#206⏭️#1545⏭️#54⏭️#18⏭️#170⏭️#191⏭️#156⏭️#67⏭️#174🩹 ⏭️#175⏭️#130⏭️#193🩹 ⏭️🔄 = this branch adds an upgrade migration (renames/FK-retargets existing schema), not just a fresh baseline.
⚠️ = fixes a different, related problem (missing
🩹 = this branch also received a backported delta migration, converted from a legacy
ibexa/installerupgrade/db/*.sqlscript (4.6.0 or later) that the original baseline-only migration didn't cover. See IBX-11939 upgrade-scripts backport report or that package's own PR description for details.SchemaBuilderEventsupport for a plain Doctrine ORM entity/table) — not a Doctrine Migrations baseline/upgrade migration like the rest of this table. See that package's own PR description for details.⏭️ =
struck throughand closed as unnecessary — that tier needs no changes of its own. Everything it requires arrives through the normal merge-up from the tier below; the branch is kept, so the PR can be reopened if genuinely tier-specific work turns up.Description:
Adds
InstallSchemaMigration(4.6.0 baseline, same as the 4.6 PR for this package) andRenameSchemaTo5_0Migration(tagged5.0.0), renamingibexa_user_invitations/ibexa_user_invitations_assignmentsto singular form. SQL sourced from ibexa/installer's shipped upgrade script (upgrade/db/{mysql,postgresql}/ibexa-4.6.latest-to-5.0.0.sql); SQLite equivalent derived by hand (DROP INDEX+CREATE INDEXin place ofRENAME INDEX, which SQLite doesn't support; FK constraint-name-only renames skipped as cosmetic since SQLite auto-updates FK/column references across the schema onRENAME TABLE/RENAME COLUMN).Verification caught a gap in the installer's own script: it was missing the rename of the assignment table's Doctrine-hashed FK-backing index — the hash changes when its table is renamed (
IDX_DA5A7872A35D7AF0→IDX_9E1E6F70A35D7AF0), even though the currentschema.yamlrequires it — fixed here.The existing
schema.yaml+BuildSchema(Event)Subscriberare untouched.For QA:
Ran both migrations end-to-end against a real SQLite connection; the resulting tables/indexes match a fresh
ibexa:doctrine:schema:dump-sql --force-platform=sqliteof the currentschema.yamlexactly.Documentation:
N/A — internal installer implementation detail.