PHPackages                             slim3-aftermarket/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. slim3-aftermarket/migrations

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

slim3-aftermarket/migrations
============================

Framework-agnostic migrations manager for PHP projects

v0.1.4(3w ago)014MITPHPPHP ^8.2CI passing

Since May 13Pushed 3w agoCompare

[ Source](https://github.com/slim3-aftermarket/migrations)[ Packagist](https://packagist.org/packages/slim3-aftermarket/migrations)[ RSS](/packages/slim3-aftermarket-migrations/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (4)Dependencies (5)Versions (6)Used By (0)

sl3-migrations
==============

[](#sl3-migrations)

Framework-agnostic менеджер миграций для PHP (MVP), совместимый по стилю CLI с Phinx для ключевых команд.

Возможности MVP
---------------

[](#возможности-mvp)

- запуск как Composer bin: `vendor/bin/sl3-migrations`
- запуск как PHAR: `./sl3-migrations.phar`
- команды: `init`, `create`, `migrate`, `rollback`, `status`
- reversible migrations:
    - через `change()` с явными up/down SQL для обратимости
    - через отдельные `up()` и `down()` при необходимости
- формат миграций:
    - файл: `migrations/VersionYYYYmmddHHMMSS.php`
    - класс: `final class VersionYYYYmmddHHMMSS extends AbstractMigration`
- хранение состояния только в таблице `db_version`
- если таблицы `db_version` ещё нет, команды `migrate`, `rollback`, `status` создают её автоматически (отдельно `init` по-прежнему создаёт конфиг и каталог миграций)
- одна транзакция на шаг миграции: тело миграции и запись в `db_version` коммитятся вместе (см. ниже)

Установка
---------

[](#установка)

```
composer require slim3-aftermarket/migrations
```

Быстрый старт
-------------

[](#быстрый-старт)

1. Инициализация:

```
vendor/bin/sl3-migrations init
```

Создаст конфиг `sl3-migrations.php`, каталог миграций при необходимости и таблицу `db_version`. Таблица версий также создаётся при первом `migrate` / `rollback` / `status`, если её ещё нет.

Если нужно загрузить секреты из env-файла:

```
vendor/bin/sl3-migrations init --env-file=.env
```

По умолчанию команды автоматически пытаются прочитать `.env` рядом с `sl3-migrations.php`.

1. Создание миграции:

```
vendor/bin/sl3-migrations create create_users_table
```

1. Применение миграций:

```
vendor/bin/sl3-migrations migrate
```

1. Откат:

```
vendor/bin/sl3-migrations rollback --steps=1
```

1. Статус:

```
vendor/bin/sl3-migrations status --format=json
```

Примеры настройки адаптеров
---------------------------

[](#примеры-настройки-адаптеров)

```
