PHPackages                             tobento/app-migration - 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. tobento/app-migration

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

tobento/app-migration
=====================

App migration support.

2.0.3(8mo ago)029420MITPHPPHP &gt;=8.4

Since Mar 30Pushed 8mo ago1 watchersCompare

[ Source](https://github.com/tobento-ch/app-migration)[ Packagist](https://packagist.org/packages/tobento/app-migration)[ Docs](https://www.tobento.ch)[ RSS](/packages/tobento-app-migration/feed)WikiDiscussions 2.x Synced 4w ago

READMEChangelog (9)Dependencies (12)Versions (10)Used By (20)

App Migration
=============

[](#app-migration)

App migration support.

Table of Contents
-----------------

[](#table-of-contents)

- [Getting Started](#getting-started)
    - [Requirements](#requirements)
- [Documentation](#documentation)
    - [App](#app)
    - [Migration Boot](#migration-boot)
        - [Install and Uninstall Migration](#install-and-uninstall-migration)
        - [Create Migration](#create-migration)
        - [Replace Migration](#replace-migration)
    - [Console](#console)
        - [Migration List Command](#migration-list-command)
        - [Migration Install Command](#migration-install-command)
        - [Migration Uninstall Command](#migration-uninstall-command)
- [Credits](#credits)

---

Getting Started
===============

[](#getting-started)

Add the latest version of the app migration project running this command.

```
composer require tobento/app-migration

```

Requirements
------------

[](#requirements)

- PHP 8.4 or greater

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

[](#documentation)

App
---

[](#app)

Check out the [App Skeleton](https://github.com/tobento-ch/app-skeleton) if you are using the skeleton.

You may also check out the [App](https://github.com/tobento-ch/app) to learn more about the app in general.

Migration Boot
--------------

[](#migration-boot)

The migration boot does the following:

- definition of \\Tobento\\Service\\Migration\\MigratorInterface::class
- definition of \\Tobento\\Service\\Migration\\MigrationResultsInterface::class
- installs and loads migration config file
- adds install and uninstall app macros

```
use Tobento\App\AppFactory;

// Create the app
$app = new AppFactory()->createApp();

// Adding boots
$app->boot(\Tobento\App\Migration\Boot\Migration::class);

// Run the app
$app->run();
```

### Install and Uninstall Migration

[](#install-and-uninstall-migration)

Once the [Migration Boot](#migration-boot) has been booted you may install migrations by the following ways:

```
use Tobento\App\Boot;
use Tobento\App\Migration\Boot\Migration;

class AnyServiceBoot extends Boot
{
    public const BOOT = [
        // you may ensure the migration boot.
        Migration::class,
    ];

    public function boot(Migration $migration)
    {
        // Install migrations
        $migration->install(AnyMigration::class);

        // Uninstall migrations
        $migration->uninstall(AnyMigration::class);

        // Install migrations with app macro
        $this->app->install(AnyMigration::class);

        // Uninstall migrations with app macro
        $this->app->uninstall(AnyMigration::class);
    }
}
```

### Create Migration

[](#create-migration)

Check out the [Migration Service](https://github.com/tobento-ch/service-migration) to learn more about creating migration classes.

### Replace Migration

[](#replace-migration)

You may replace a migration with another migration using the `replace` method:

```
use Tobento\App\Boot;
use Tobento\App\Migration\Boot\Migration;

class AnyServiceBoot extends Boot
{
    public const BOOT = [
        // you may ensure the migration boot.
        Migration::class,
    ];

    public function boot(Migration $migration)
    {
        $migration->replace(
            SomeMigration::class,
            ReplaceWithThisMigration::class
        );
    }
}
```

Console
-------

[](#console)

If you have installed the [App Console](https://github.com/tobento-ch/app-console) you may run the following commands.

### Migration List Command

[](#migration-list-command)

The `migration:list` command provides an overview of all the migrations installed:

```
php ap migration:list

```

### Migration Install Command

[](#migration-install-command)

Install a migration by its class:

```
php ap migration:install --name=Namespace\Migration

```

Reinstalls all migrations:

```
php ap migration:install --all

```

Reinstalls specific migration(s) or/and action(s) by its ids. To get the ids, run `migration:list` command:

```
php ap migration:install --id=12|23

```

Reinstalls specific migration(s) or/and action(s) by its type.

```
php ap migration:install --type=database|views

```

### Migration Uninstall Command

[](#migration-uninstall-command)

Uninstall a migration by its class:

```
php ap migration:uninstall --name=Namespace\Migration

```

Uninstalls all migrations:

```
php ap migration:uninstall --all

```

Uninstalls specific migration(s) by its ids. To get the ids, run `migration:list` command:

```
php ap migration:uninstall --id=12|23

```

Credits
=======

[](#credits)

- [Tobias Strub](https://www.tobento.ch)
- [All Contributors](../../contributors)

###  Health Score

44

—

FairBetter than 90% of packages

Maintenance62

Regular maintenance activity

Popularity13

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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 ~150 days

Recently: every ~38 days

Total

10

Last Release

242d ago

Major Versions

1.x-dev → 2.0.22025-10-01

PHP version history (2 changes)1.0.0PHP &gt;=8.0

2PHP &gt;=8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/055d6a1b5c2384bb179c75ab0b55914231d898fdc4dffeb30770f81200e52206?d=identicon)[TOBENTOch](/maintainers/TOBENTOch)

---

Top Contributors

[![tobento-ch](https://avatars.githubusercontent.com/u/16684832?v=4)](https://github.com/tobento-ch "tobento-ch (21 commits)")

---

Tags

phpmigrationpackageapplicationtobento

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Type Coverage Yes

### Embed Badge

![Health badge](/badges/tobento-app-migration/health.svg)

```
[![Health](https://phpackages.com/badges/tobento-app-migration/health.svg)](https://phpackages.com/packages/tobento-app-migration)
```

###  Alternatives

[getgrav/grav

Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS

15.6k88.1k1](/packages/getgrav-grav)[kimai/kimai

Kimai - Time Tracking

4.8k9.4k1](/packages/kimai-kimai)[hyperf/database

A flexible database library.

193.0M348](/packages/hyperf-database)[api-platform/state

API Platform state interfaces

275.4M156](/packages/api-platform-state)[awssat/laravel-sync-migration

Laravel tool helps to sync migrations without refreshing the database

10923.5k](/packages/awssat-laravel-sync-migration)

PHPackages © 2026

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