Основным требованием к любому функуионалу должно быть требование удобства использования. Это означает что:
- Все действия должны быть интуитивно понятны;
- Работая с функционалом нет нужды обращаться к документации.
Мы постарались сделать наиболее удобным использование модуля как при написании миграции так и при работе с очередью уже готовых миграций.
Основной интерфейс модуля - терминал. При использовании этого подхода есть неоспоримые приимущества:
- Время выполнения миграций не ограничено таймаутом сервера;
- Возможность автоматизировать обновление миграций совместно с обновлением кода. К примеру, можно интегрировать механизм обновления миграций
при помощи функционала перехватчиков
СУРВ Git
Файл для работы с миграцими через интерфейс командной строки расположен по пути bitrix/tools/migrate, таким образом запускать миграции через командную строку всегда нужно через этот файл.
Пример:
$ php bitrix/tools/migrateОтображает список доступных действий
Можно получить более подробную информацию по каждому действию набрав --help после имени действия, к примеру:
$ php bitrix/tools/migrate create --help
Выводится простая, но в то же время содержательная справка по параметрам действия и их использованию
$ php bitrix/tools/migrate listМиграции в списке группируются по приоритету, именно в таком порядке они будут обновляться. Так же выводится суммарное время обновления согласно пустановленным периодам в сценариях. Это позволяет правильно ориентироваться по времени при обновлении.
Интерактивный способ
$ php bitrix/tools/migrate createБыстрый способ
Запуск миграции по хешу.
$ php bitrix/tools/migrate apply a5468917Из списка подготовленных миграций выбирается та, которая соответствует подстроке хеша.
Запуск всех миграций.
$ php bitrix/tools/migrate apply -fФлаг -f указывает на то что применение миграций начинать без запроса на подтверждение.
Запуск всех миграций.
$ php bitrix/tools/migrate apply -f --skip-optionalПараметр --skip-optional указывает на пропуск опциональных миграций. Опциональные миграции создаются в основном для актуализаций боевой площадки и занимают продолжительное время, на площадках разработчиков такая актуализация не требуется и при обновлении миграций на площадке разработчика их можно пропустить.
Подойдет для обработчиков git
Все примененные миграции сохраняются в истории.
Последнее обновление миграций:
$ php bitrix/tools/migrate historyПросмотр истории по количеству последних миграций:
$ php bitrix/tools/migrate historyОткат миграций производится через метод класса миграций rollback
Откат последнего обновления:
$ php bitrix/tools/migrate rollbackОткат последнего обновления:
$ php bitrix/tools/migrate rollbackОткат одной миграции по хешу:
$ php bitrix/tools/migrate rollback b907dc51Откат определенного количества последних миграций:
$ php bitrix/tools/migrate rollback --count=2Откат всех свежих миграций вплоть до определенной из списка: Откат определенного количества последних миграций:
$ php bitrix/tools/migrate rollback --count=2Применение и откат миграций сопровождается списком с перечнем того что будет обновляться или отменяться.











