Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Doctrine Migrations Multiple Database Bundle Laravel Package

avaibooksports/doctrine-migrations-multiple-database-bundle

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Multi-database schema management: Enables teams to manage migrations for multiple Doctrine entity managers (e.g., core DB, analytics DB, or third-party integrations) from a single codebase, reducing duplication and complexity.
  • Decoupled database evolution: Supports polyglot persistence (e.g., PostgreSQL for transactions, MongoDB via ODM, or legacy MySQL) by isolating migrations per entity manager.
  • Roadmap alignment: Justifies investing in a multi-database architecture by providing a standardized way to handle migrations, reducing technical debt from ad-hoc scripts.
  • Build vs. buy: Avoids reinventing a custom migration system for multi-DB setups, leveraging an existing (though niche) solution with active development.
  • Use cases:
    • Microservices: Managing migrations for service-specific databases.
    • Legacy modernization: Gradually migrating schemas while maintaining old systems.
    • Multi-tenant SaaS: Isolating tenant-specific or feature-specific databases.

When to Consider This Package

  • Adopt if:

    • Your Symfony app uses multiple Doctrine entity managers (e.g., default, read_replica, third_party) with distinct schemas.
    • You need to run migrations selectively (e.g., only for the geonames EM) without manual scripting.
    • Your team prioritizes consistency over custom solutions for multi-DB migration workflows.
    • You’re using Symfony 3.4–6.0 and Doctrine Migrations Bundle v3+.
  • Look elsewhere if:

    • You only have a single database (use doctrine/doctrine-migrations-bundle directly).
    • Your migrations require complex cross-DB transactions (this bundle handles per-EM migrations independently).
    • You need XML/PHP config support (YAML-only for now).
    • Your team prefers full control over migration execution (e.g., custom orchestration logic).
    • You’re using non-Doctrine databases (e.g., MongoDB, Elasticsearch) without Doctrine ODM/ODM integration.

How to Pitch It (Stakeholders)

For Executives:

"This package lets us standardize database migrations across multiple systems—like our core app, analytics warehouse, and partner integrations—without writing custom scripts. It reduces risk during deployments by ensuring schema changes are applied consistently to each database. For example, if we’re adding a new feature that touches both PostgreSQL (for transactions) and MySQL (for legacy systems), we can manage migrations in one place. It’s a low-risk way to support our multi-database roadmap while keeping the team productive."

For Engineering:

*"This bundle extends Symfony’s Doctrine Migrations to support multiple entity managers with minimal config changes. Key benefits:

  • Selective migrations: Run php bin/console doctrine:migrations:migrate --em=geonames to target specific databases.
  • No fork: Avoids duplicating migration logic across projects.
  • Future-proof: Actively developed (last release June 2023) with Symfony 6 support.
  • Trade-offs: YAML-only config (for now) and partial command support, but covers 90% of our needs.

Proposal: Pilot it for our [Project X] multi-DB setup. If it works, we can phase out ad-hoc scripts and reduce migration-related bugs."*

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours