th3mouk/materialized-view-bundle
Symfony bundle for defining and managing PostgreSQL materialized views with Doctrine. Map views as entities, create and refresh them via console commands, and query cached results for faster dashboards, reports, and analytics.
matview:doctrine-lane when the Doctrine migration metadata table (doctrine_migration_versions) has drifted. The lane now self-heals the metadata storage before reading migration status, under the advisory lock, for every strategy. This directly reduces on-call pages and manual doctrine:migrations:migrate interventions during deploys.doctrine:migrations:migrate for metadata-storage drift, plus advisory-lock safety. Teams evaluating custom deploy scripts should weigh this against building their own guarded migration lane.Consider adoption when:
doctrine/migrations rather than, or in addition to, Laravel’s native migrations."The metadata storage is not up to date…" and wants self-healing behavior under lock.Look elsewhere when:
For executives: This is a low-risk patch release that removes a class of deploy failures. Previously, a drifted migration metadata table could abort the deploy lane before any migration ran, requiring manual intervention. The package now self-heals that drift automatically under the same advisory lock used for migrations — matching the behavior teams already expect from plain Doctrine migrations. There are no breaking changes in this release.
For engineering: v1.3.1 initializes Doctrine’s metadata storage on the guard’s DependencyFactory before the first hasPendingMigrations() status read, for every migration strategy, under the advisory lock. The operation is idempotent and a no-op once the metadata storage is current. This closes the gap where DoctrineLane read migration status before ensureInitialized() was called, causing a boot abort on drifted doctrine_migration_versions schemas. Review PR #4 for implementation details. Recommend validating in staging with a deliberately drifted metadata table before rollout.
How can I help you explore Laravel packages today?