Generic, implementation-agnostic migration library.
NB!: This project is still an early release. Please do not use in production-critical environments. Refer to the LICENSE for more information.
Baleen Migrations is a project that seeks to abstract the domain logic of performing migrations of any kind into a single package. Its simple goal is to excel at one single task: provide an intuitive, well-tested framework to migrate from point A to point B (or vice-versa if going down).
In other words, we take care of WHICH migrations are run and in what ORDER. Everything else is left up to the implementation:
- WHAT is going to be migrated? It could be a database, images, documents, etc.
- HOW its going to be migrated? You can wrap each migration into DB transactions. Or not, its up to you.
- What to do when a migration fails? We'll let you know WHEN it happens, but its up to you to the implementation to decide what to do (e.g. cancel the transaction).
Are you looking for a framework-agnostic migration tool that can be used right out of the box? Then you're almost at the right place: go visit baleen/cli and get started immediately after requiring it into your project.
Once you're there you'll see that its much more than just a migrations tool: its also a migrations framework that you can use to build a customized migration experience for your projects and their unique use-cases.
If you're interested in creating another tool around the core domain then you're invited to read on.
Installation with Composer is simple:
composer require baleen/migrations
For more documentation please refer to the online documentation.
- We're still working on making some changes to this core domain. See branch
ddd-changesfor the latest progress. Code reviews / constructive critiques are more than welcome, and so are of course PRs!
- Once we're happy with the core API we'll release
- With a stable core we'll shift our focus to
baleen/cliand its future specializations (i.e. Doctrine Migrations, etc).
MIT - for more details please refer to LICENSE at the root directory.
We named the project ("BALEEN") after a family (or "parvorders" to be precise) of whales that are famous for migrating long distances. The humpback whale, for example, travels as far as 16,000 miles (25749.5 km) annually. That's about twice the earth's diameter.