PHPackages                             baleen/migrations - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. baleen/migrations

AbandonedArchivedLibrary[Database &amp; ORM](/categories/database)

baleen/migrations
=================

Generic, implementation-agnostic migration library.

0.10.1(10y ago)338375[1 issues](https://github.com/baleen/migrations/issues)[1 PRs](https://github.com/baleen/migrations/pulls)2MITPHPPHP &gt;= 5.5

Since Jul 10Pushed 10y ago1 watchersCompare

[ Source](https://github.com/baleen/migrations)[ Packagist](https://packagist.org/packages/baleen/migrations)[ RSS](/packages/baleen-migrations/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (9)Versions (13)Used By (2)

Status
======

[](#status)

[![Build Status](https://camo.githubusercontent.com/f0209342dc0505206bb9c9d52968c86337a7badb3d3f13903ae24d8857de157d/68747470733a2f2f7472617669732d63692e6f72672f62616c65656e2f6d6967726174696f6e732e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/baleen/migrations)[![Code Coverage](https://camo.githubusercontent.com/7be7ed26a92d819f0c383aad10ee396dfa9644f03825d97bf71e626897f998be/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f62616c65656e2f6d6967726174696f6e732f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/baleen/migrations/?branch=master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/e2de7852174d2709de7c65ed107e67a711bb80612260bcdb751868a6979284af/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f62616c65656e2f6d6967726174696f6e732f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/baleen/migrations/?branch=master)[![SensioLabsInsight](https://camo.githubusercontent.com/4854f0c419cedf7354377f380ad649ba6aebb1b44593b4c6ae156bf95c431e6e/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f36323531653166662d353332642d346461642d613833312d3933646366303536316134392f6d696e692e706e67)](https://insight.sensiolabs.com/projects/6251e1ff-532d-4dad-a831-93dcf0561a49)[![Packagist](https://camo.githubusercontent.com/ca5881ca8a9703dd67b6c17949b1f9a267bc4a716821a55fec15fb1024d9d638/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f62616c65656e2f6d6967726174696f6e732e737667)](https://packagist.org/packages/baleen/migrations)

[![Author](https://camo.githubusercontent.com/8222d6eef0fd941ecf7f9af423740d2b4255ecd50069439241f2fa79f026d1f8/687474703a2f2f696d672e736869656c64732e696f2f62616467652f617574686f722d406761627269656c5f736f6d6f7a612d626c75652e737667)](https://twitter.com/gabriel_somoza)[![Author](https://camo.githubusercontent.com/30d135373a35721b050ced6d48ecca84d163142f287118e98c2bce8e5f8ec731/687474703a2f2f696d672e736869656c64732e696f2f62616467652f617574686f722d405f5f6d696b6553696d6f6e736f6e2d626c75652e737667)](https://twitter.com/_mikeSimonson)[![License](https://camo.githubusercontent.com/f626b519aa9a91577eef26405e90e57137ad63010bbdba523242c649b36f2254/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f62616c65656e2f6d6967726174696f6e732e737667)](https://github.com/baleen/migrations/blob/master/LICENSE)[![Documentation Status](https://camo.githubusercontent.com/fb992343f4a7868d49e7190663cf6ac96ed80dd9542c8caf0528ac72171d3f75/68747470733a2f2f72656164746865646f63732e6f72672f70726f6a656374732f62616c65656e2f62616467652f3f76657273696f6e3d6c6174657374)](https://readthedocs.org/projects/baleen/?badge=latest)

**NB!:** This project is still an early release. Please do not use in production-critical environments. Refer to the [LICENSE](https://github.com/baleen/migrations/blob/master/LICENSE)for more information.

Introduction
============

[](#introduction)

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).

Baleen CLI: Our Command-Line Tool
---------------------------------

[](#baleen-cli-our-command-line-tool)

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](https://github.com/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 (Composer)
=======================

[](#installation-composer)

Installation with Composer is simple:

```
composer require baleen/migrations

```

Documentation
=============

[](#documentation)

For more documentation please refer to the [online documentation](http://baleen.readthedocs.org/en/latest/).

Contributing
============

[](#contributing)

See [CONTRIBUTING.md](https://github.com/baleen/migrations/blob/master/CONTRIBUTING.md)

Roadmap
=======

[](#roadmap)

- We're still working on making some changes to this core domain. See branch `ddd-changes` for 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 `v1.0`.
- With a stable core we'll shift our focus to `baleen/cli` and its future specializations (i.e. Doctrine Migrations, etc).

LICENSE
=======

[](#license)

MIT - for more details please refer to [LICENSE](https://github.com/baleen/migrations/blob/master/LICENSE) at the root directory.

### About the name

[](#about-the-name)

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.

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity27

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 95.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~29 days

Recently: every ~45 days

Total

11

Last Release

3675d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f00ae1c2b13428075ab880d5fec7e857f1e9446cb401dc6097ec947a81122ec5?d=identicon)[gabriel.somoza](/maintainers/gabriel.somoza)

![](https://www.gravatar.com/avatar/c2c3672cf4687fd66d48ad82fd08cf52051353c4e693b2ff151e75d4372cdaba?d=identicon)[mikeSimonson](/maintainers/mikeSimonson)

---

Top Contributors

[![gsomoza](https://avatars.githubusercontent.com/u/106219?v=4)](https://github.com/gsomoza "gsomoza (132 commits)")[![hannesvdvreken](https://avatars.githubusercontent.com/u/1410358?v=4)](https://github.com/hannesvdvreken "hannesvdvreken (2 commits)")[![jjsaunier](https://avatars.githubusercontent.com/u/1763341?v=4)](https://github.com/jjsaunier "jjsaunier (1 commits)")[![kbsali](https://avatars.githubusercontent.com/u/53676?v=4)](https://github.com/kbsali "kbsali (1 commits)")[![mikeSimonson](https://avatars.githubusercontent.com/u/907613?v=4)](https://github.com/mikeSimonson "mikeSimonson (1 commits)")[![zdenekdrahos](https://avatars.githubusercontent.com/u/7994022?v=4)](https://github.com/zdenekdrahos "zdenekdrahos (1 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/baleen-migrations/health.svg)

```
[![Health](https://phpackages.com/badges/baleen-migrations/health.svg)](https://phpackages.com/packages/baleen-migrations)
```

###  Alternatives

[league/tactician-doctrine

Plugins for Tactician commands using Doctrine, like wrapping every command in a transaction

583.1M9](/packages/league-tactician-doctrine)[kassko/data-mapper

A mapper which gives a lot of features to representate some raw data like objects

1338.5k1](/packages/kassko-data-mapper)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
