
Why I Built Migrun
I mostly work with PHP projects that do not live inside a full framework like Laravel or Symfony — frameworks that come with their own ORM-based migration tools. The existing standalone migration tools like Phinx, Phpmig, Phoenix are available, but they come with problems that kept bothering me over the years. I would not even call Phinx standalone — it pulls in the Cake framework's core. Service container integration is a hack. At least in Phinx, which I used the most. If you use a dependency injection container (and you really should), wiring services into Phinx migrations is not possible. People resort to global static access or other workarounds to get their own database connection or a service like logger into their migration. This completely goes against modern DI practices. I wanted migrations to simply declare their dependencies and have them resolved from the container automatically. Query builders add complexity you don't need. Migration systems often provide table builders —
Continue reading on Dev.to
Opens in a new tab

