andreyryabin/sprint.migration
Sprint Migration adds a web UI to Laravel for creating, running, and rolling back database migrations. Build migrations from existing tables, track history, and manage schema changes without leaving the browser.
Architecture fit. The first thing to flag up front: andreyryabin/sprint.migration is not a Laravel/PHP package in the framework-agnostic sense — it is a migration module for 1C-Bitrix (the Bitrix\Main D7 kernel). It ships no ServiceProvider, no publishable config, no facade, and no Artisan commands. Its runtime contract is Bitrix's Application, Loader, EventManager, and Bitrix ORM. In a pure Laravel application the integration cost is effectively "reimplement it"; the only legitimate fit is a hybrid estate where a Bitrix portal is already in the stack and needs versioned schema/data migrations.
Integration feasibility. Composer installation is clean (PSR-4, MIT), but the module must be placed under bitrix/modules/ and installed through the Bitrix admin surface before it is usable — Composer alone does not activate it. CLI execution is a standalone script under the module's tools/ directory rather than a console-kernel command, so exposing it as php artisan bitrix:migrate requires a thin wrapper you own forever (shelling out with the right CWD, PHP binary, and env). That wrapper is small, but it becomes a permanent piece of glue with no upstream support.
Technical risk. Low ecosystem gravity is the dominant risk: 208 stars, 0 dependents, opportunity score 29.35, single maintainer. That is not a disqualifier for a niche Bitrix tool — it is the de facto standard in that ecosystem — but it means bus-factor and upgrade-compatibility risk sit with you. Secondary risks: file-based versioning plus non-transactional MySQL DDL (partial failures leave schema drift), and documentation/issue traffic that is primarily Russian-language.
Key questions.
bitrix/modules or marketplace install — and which does the team's deploy pipeline support?Stack fit. Position the tool narrowly as "versioning for the Bitrix side of the estate." Laravel keeps artisan migrate; Bitrix gets Sprint. The non-negotiable deliverable is a table-ownership matrix — every table assigned to exactly one migration system — because two migration runners against one schema is the single fastest way to lose a weekend.
Migration path. (a) Inventory current practice: ad-hoc SQL scripts, manual admin-panel changes, undocumented schema edits. (b) Install module and configure the migration directory. (c) Baseline: either generate one migration representing current state, or mark existing changes as already applied — pick one and document it. (d) Adopt the migration builder for incremental changes. (e) Add a CI check that fails if committed migrations are pending.
Compatibility. Verify the PHP version matrix, the Bitrix kernel version, MySQL/MariaDB variant, and whether the project uses Composer inside Bitrix at all (many do not). Confirm no collision with any existing migration convention already in the repo.
Sequencing. 1) Disposable-environment feasibility spike — do not skip this. 2) Ownership matrix and runbook. 3) Install + config on staging. 4) Baseline and dry-run against a production clone. 5) CI gate. 6) Team enablement. 7) Production cutover bundled with a verified backup and a written rollback path.
Maintenance. MIT-licensed, no vendor SLA, one primary maintainer. Pin the version explicitly and budget for the possibility of maintaining a fork if the project stalls while your Bitrix version moves. Treat upgrades of either Bitrix or this module as a coupled change requiring a staging rehearsal.
Support. GitHub issues and community channels, Russian-first documentation, no commercial escalation. Your internal Bitrix-fluent engineer is the support tier — if that person does not exist, this is a hiring/training dependency, not a tooling decision.
Scaling. Fine for small teams; the pressure points are concurrent deploys (two pipelines running migrations simultaneously — serialize with a deploy lock) and long-running data migrations (chunk them and run out-of-band rather than inside a deploy window). Migration file ordering across parallel feature branches needs a convention (timestamp prefixes, plus a merge-time check).
Failure modes to plan for. Partial DDL failure mid-migration with no transaction to roll back; non-idempotent up() methods; missing or untested down(); ordering collisions when two branches land migrations in the same window; Bitrix managed/composite cache not invalidated after schema or data changes, producing "the migration ran but nothing changed"; module not installed on a given environment so migrations silently no-op or error; and orphaned version rows after a manual rollback.
Ramp-up. Roughly 1–2 days for a developer already fluent in the Bitrix kernel; 1–2 weeks for someone new to Bitrix, most of it spent on kernel and ORM conventions rather than the module itself. Allocate the spike and a written runbook before committing the team to this as the standard — the tool is cheap to adopt and expensive to adopt casually.
How can I help you explore Laravel packages today?