Модуль миграции схемы данных

Миграции — одно из самых «узких» мест «1С-Битрикс». Каждый решает эту проблему в меру своих потребностей и сил. Кто-то пишет одноразовые скрипты миграций, кто-то в ручном режиме переносит данные, сравнивая визуально рабочий сайт с тестовой площадкой.

Модуль «Миграции схемы данных» призван решить эти проблемы без дополнительных затрат времени и сил разработчиков. Модуль на данный момент находится в начале своего пути и пока работает только с пространством информационных блоков.

На данный момент версия 1.1.2 умеет переносить между копиями проекта типы информационных блоков, сами информационные блоки и их свойства, которые входят в коробку. Также под миграции можно вынести разделы информационных блоков, если того требует бизнес-логика проекта.

Модуль тестировался на версиях «1С-Битрикс» 14.5.xx и выше. Есть перечень автотестов разработчика. Функциональное тестирование выполнено при помощи тестировщиков.

1. Установка и настройка

Процедура установки модуля стандартная.

Модуль

Во время установки мастер попросит указать путь к каталогу миграций. В этом каталоге будут создаваться файлы (импорта/экспорта) для поддержки актуального состояния схемы данных. Лучше всего каталог сделать версионируемым, используя систему контроля версии кода. В противном случае, актуальность каталога необходимо будет обеспечивать в ручном режиме при помощи копирования файлов, учитывая все версии проекта.

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

Модуль

Включение автотестов в настройках необходимо только при работе с функциональной частью модуля миграций. Активирование этого флага на рабочем проекте может привести к добавлению лишних данных при выполнении автотестов в мониторе качества.

2. Начало работы

Перед началом работ необходимо определить какая версия проекта самая актуальная. Как правило это «боевая» версия сайта (production). На нее необходимо установить модуль миграций.

После этого надо сделать полную резервную копию проекта и развернуть его на всех остальных версиях проекта.

На каждой копии проекта необходимо убедиться, что версия базы данных модуля не совпадает с копией, на которой было сделано резервное копирование. Для этого сразу после разворота проекта необходимо перейти по пути Настройки - Миграции данных - Смена версии базы и сменить версию базы данных.

Модуль

3. Применение полученных изменений

По мере того как ведется работа над проектом, в каталоге миграций накапливаются файлы. В случае переноса файлов на другую копию проекта их можно будет там применить. Для применения изменений необходимо перейти по пути Настройки - Миграции данных - Применение.

Модуль

При нажатии на кнопку «Применить» произойдет накатывание миграций на данную копию проекта.

4. Откат изменений

Модуль позволяет откатить миграции, если этого необходимо нажать на кнопку «Откатить последние изменения» по пути Настройки - Миграции данных - Применение.

Модуль


Решение доступно всем желающим на github.

UPD: О дальнейшем развитии модуля можно почитать на маркетплейсе.

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

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

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