Миграции схемы данных: продолжаем использовать

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

Миграции схемы данных: продолжаем использовать

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

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

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

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

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

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

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

Миграции схемы данных: продолжаем использовать Просмотр списка подготовленных миграций

Миграции схемы данных: продолжаем использовать Применение миграций

Миграции схемы данных: продолжаем использовать Откат последнего изменения

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



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

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

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

На данном сайте собираются метаданные пользователя (cookie, данные об IP-адресе и местоположении) для функционирования сайта. Если Вы не хотите чтобы эти данные обрабатывались, то должны покинуть сайт

Заявка
на сотрудничество

Как вас зовут? Заполните это поле
Адрес электронной почты Неверный формат почты
Телефон для связи Заполните это поле
Нажимая на кнопку «Отправить заявку»,
я даю согласие на обработку персональных данных