You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: prep db identifiers for cross-platform portability
- Rename 15 `changed_idx` indexes to `<table>_changed_idx` (Postgres
scopes index names schema-wide; MariaDB scopes per-table — the shared
name collides on Postgres).
- Quote `user` table identifier in entity metadata
(`#[ORM\Table(name: '`user`')]`). Doctrine emits the platform-native
quote on every reference (`` `user` `` on MariaDB, `"user"` on
Postgres), so no table rename is needed.
- Add `validate-doctrine-schema-postgres` CI job that applies entity
metadata to a Postgres 16 service container via
`doctrine:schema:update --force --complete` and then runs
`doctrine:schema:validate`. Gates against future entity-level
Postgres regressions.
Lands on 2.7 so the consolidated 3.0 migration (os2display#441 / os2display#442) can emit
the portable shape from the start, keeping `migrations:rollup` honest
for 2.x → 3.0 upgraders.
Verified locally on MariaDB: migration applies cleanly,
`doctrine:schema:validate` in sync, full PHPUnit suite green
(133 tests / 516 assertions, identical to pristine release/2.7.0).
Verified on Postgres 16: `doctrine:schema:update --force --complete`
applies the metadata in 265 queries, `doctrine:schema:validate` in
sync. down/up cycle of the new migration also verified.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments