Download the PHP package proklung/wp.migrations without Composer
On this page you can find all versions of the php package proklung/wp.migrations. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download proklung/wp.migrations
More information about proklung/wp.migrations
Files in proklung/wp.migrations
Package wp.migrations
Short Description Adapting Arrilot database migrations for Wordpress.
License MIT
Informations about the package wp.migrations
Адаптация миграций от Arrilot для Wordpress
Оригинальный пакет - https://github.com/arrilot/bitrix-migrations
Установка
1) composer require proklung/wp.migrations
2) cp vendor/proklung/wp-migrations/migrator bin/migrator
- копируем исполняемый файл в удобное место.
3) заходим внутрь и удостоверяемся что задается правильный $_SERVER['DOCUMENT_ROOT']. Меняем настройки если нужно.
4) php migrator install
Данная команда создаст в БД таблицу для хранения названий выполненных миграций.
По умолчанию:
1) Таблица называется wp_arrilot_migrations.
2) composer.json
лежит в корне сайта, migrator
в /bin.
3) Файлы миграций будут создаваться в директории ./app/arrilot_migrations
относительно корня сайта.
При необходимости всё это можно изменить в скопированном файле migrator
.
Использование
Рабочий процесс
Рабочий процесс происходит через консоль и кратко описывается примерно так:
1) Создаем файл (или файлы) миграции при помощи php migrator make название_миграции
Файл миграции представляет из себя класс с двумя методами up()
и down()
2) Реализуем в методе up()
необходимые изменения в БД. При желании в методе down()
реализуем откат этих измнений
3) Применяем имеющиеся миграции - php migrator migrate
4) Вносим файлы миграций в систему контроля версий, чтобы их можно было запустить и на других машинах
Доступные команды
Список доступных команд можно получить в консоли - php bin/migrator list
Название | Описание |
---|---|
`php/bin migrator install` | Создает таблицу для хранения миграций. Запускается один раз. |
`php/bin migrator make название_миграции` |
Создает файл миграции
Опции: `-d foo/bar` - указать поддиректорию, в которой будет создана миграция |
`php/bin migrator migrate` | Применяет все доступные для применения миграции. Миграции примененные ранее не применяются. |
`php/bin migrator rollback` |
Откатывает последнюю миграцию (метод `down()`). После этого её можно применить повторно. Опции: `--hard` - выполнить жесткий откат без вызова метода `down()` `--delete` - удалить файл с миграцией после отката. |
`php/bin migrator templates` | Показывает подробную таблицу со всем существующими шаблонами миграций |
`php/bin migrator status` | Показывает доступные для выполнения миграции, а также последние выполненные. |
`php/bin migrator archive` |
Переносит все миграции в архив. По умолчанию это директория /app/archive_migrations, но можно переопределить в конфиге, указав "dir_archive" Опции: `-w 10` - не переносить в архив последние N миграций |
Шаблоны миграций
Так как изменение структуры БД битрикса через его АПИ - занятие крайне малоприятное, то для облегчения этого процесса есть механизм шаблонов миграций, работающий следущим образом:
При генерации файла миграции можно указать его шаблон: php migrator make название_миграции -t add_iblock
где add_block
- название шаблона.
При этом сгенерируется класс с бойлерплейтом из шаблона и остается лишь указать детали (например название и код инфоблока)
Свои шаблоны миграций можно добавить напрямую в файле migrator
при помощи TemplateCollection::registerTemplate()
Имеющиеся шаблоны:
Название | Описание | Алиасы |
---|---|---|
`default` | Чистый шаблон по умолчанию | |
`query` | Произвольный запрос в БД | |
`add_table` | Создание таблицы через | `create_table` |
`delete_table` | Удаление таблицы | `drop_table` |
6) php migrator status
- показывает доступные для выполнения миграции, а также последние выполненные.
All versions of wp.migrations with dependencies
symfony/console Version ^4.4 || ^5.0
illuminate/support Version ~5 | ~6 | ~7 | ~8