Интерфейс командной строки добавлен в модуль миграций от Work Solutions | Блог Work Solutions
Встречайте обновленный модуль миграций
ГлавнаяБлогРазработчикамВстречайте обновленный модуль миграций
Разработчикам26 января 2016

Встречайте обновленный модуль миграций

Фотография автора
Максим МулCEO

Практика показала, что тема миграций в битрикс-сообществе обсуждается не так широко, как хотелось бы. Тем не менее, судя по количеству разработчиков, которых заинтересовал наш модуль на GitHub, делиться опытом однозначно стоит.

Изображение статьи

С момента последнего отчета о жизни нашего решения, мы продолжаем активно его использовать на проектах и теперь с уверенностью можем сказать, что модуль полностью выполняет рутинную работу мигрирования структуры базы данных между проектами.

При использовании модуля мы придерживаемся следующей стратегии. Автомиграции используем при разработке нового проекта. Если же нужны безотказные обновления, например после релиза проекта, используем сценарии. Сценарии — это те же миграции для модификации данных, например когда нужно единожды выполнить определенный функционал. Обновления публичных площадок происходит быстро без закрытия публичной части сайта.

Во время использования модуля появилась необходимость в интерфейсе командной строки при обновлениях. Основная проблема была в том, что некоторые скрипты миграций могут выполняться продолжительное время, что приводило к автоматической остановке скрипта при применении миграций в административной панели «1С-Битрикс».

В итоге, был добавлен режим командной строки, который позволяет работать с миграциями в консоли и предоставляет два больших преимущества:

  • Время применения миграций не ограничено таймаутом сервера, с которым можно столкнуться при работе из административной панели. Актуально для «ручных» миграций по изменению структуры архитектуры проекта;
  • Появилась возможность автоматизировать применение миграцией с обновлением кода. Теперь при обновлении кода на production-сервере можно одновременно обновить структуру БД, на которую опирается новый код, не получив при этом фатальных ошибок. Для реализации подхода можно использовать CYPB Git.

Файл для работы с миграциями из командной строки расположен по пути: bitrix/tools/ws_migrations.php.

Изображение статьи
Изображение статьи
Изображение статьи
Изображение статьи

Также были добавлены некоторые технические детали улучшающие работу модуля при работе с автоматическими миграциями. Наша команда и дальше продолжит развивать решение. Ждем от вас обратной связи по его использованию.


Более детальное описание модуля есть на GitHub.

Сам модуль доступен в Marketplace.

UPD: Команда сайта Битрикс-Эксперты записала подкаст, раскрывающий особенности модуля миграций.

125
4

Другие статьи

Ко всем статьям
Фоновое изображение: четверть круга закрыват часть круга

Интересные статьи и кейсы
от Work Solutions

Нажимая кнопку «Подписаться», я даю согласие на обработку персональных данных

Спасибо за подписку!

Фоновое изображение: верхний полукруг