webignition/simplytestable-base-migrations-bundle
A Symfony bundle that supplies the base database migrations for the SimplyTestable platform, providing a shared starting schema for related applications and services to build upon.
Architecture fit: This is not a Laravel package; it is a Symfony bundle containing Doctrine migrations shared by app.simplytestable.com and worker.simplytestable.com. It does not fit Laravel as a runtime dependency because Laravel does not load Symfony bundles or use Doctrine Migrations as its default migration system. Its only credible fit is as a schema-reference artifact for teams reconstructing or aligning shared application/worker database tables.
Integration feasibility: Direct Composer integration into a Laravel app is low feasibility. It would introduce Symfony/Doctrine framework assumptions, service wiring, and migration conventions that Laravel will not execute natively. Feasibility improves if treated as source material: inspect the migration classes, extract schema intent and SQL/Doctrine operations, then port required tables into Laravel migrations.
Technical risk: High if installed or vendored as an active dependency: abandonment risk, version incompatibility, zero dependents, one star, and likely old Symfony/PHP assumptions. Risk is moderate if used only as reference: the main danger is misreading Doctrine column/type semantics and copying destructive or environment-specific migration logic. MIT license reduces legal risk but does not reduce maintenance or compatibility risk.
Key questions:
Stack fit: Poor as a Symfony bundle in a Laravel stack. Acceptable as a reference repository for a one-time schema port. Laravel should own the resulting migrations via database/migrations and the schema builder; Doctrine should not become a runtime requirement unless the team has independently standardized on Doctrine.
Migration path: Do not composer require the bundle into the Laravel application. Instead: fork or archive the repository for inspection, enumerate migration files and ordering, identify tables relevant to the Laravel service, translate Doctrine schema operations into Laravel migrations, and preserve any intentional shared-table contract explicitly. If Doctrine migrations must be run alongside Laravel, isolate them in a separate service or migration runner rather than mixing bundle configuration into the app.
Compatibility: Confirm supported PHP and Symfony versions before reading behavior as current. Check Doctrine DBAL/ORM type mappings against the target database. Avoid pulling symfony/framework-bundle or bundle-specific service config into Laravel. Validate generated schema against a production-like dump, not just against the old migration source.
Sequencing:
up/down behavior and data-safety guards.Maintenance: Near-zero if left uninstalled; high if adopted as a dependency because the package is effectively unmaintained. If ported, the Laravel team owns the migrations permanently. The original repository should be treated as read-only reference, not a supported upstream.
Support: No meaningful community support: one star, zero dependents, and a narrow historical purpose. Internal documentation should capture why any schema was copied and which tables remain shared.
Scaling: Migration code does not affect runtime scaling. The operational scaling concern is schema coupling: shared base migrations between app and worker can become a coordination bottleneck. Prefer explicit schema ownership and independently deployable migrations unless the shared contract is still essential.
Failure modes: Dependency conflicts from Symfony/Doctrine packages; migration ordering errors; Doctrine-to-Laravel type mismatches; destructive operations copied without guards; schema drift between app and worker; missing rollback paths; and false confidence that the old bundle represents current production schema.
Ramp-up: Low to moderate. A TPM should budget roughly one to three engineering days for inventory and schema comparison, plus additional time if production data requires careful migration backfills. The main ramp-up cost is not learning the package API; it is validating whether the historical schema is still correct and safe to port.
How can I help you explore Laravel packages today?