Модуль миграции схемы данных — Блог Work Solutions
Модуль миграции схемы данных
ГлавнаяБлогРазработчикамМодуль миграции схемы данных
Разработчикам26 ноября 2014

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

Фотография автора
Максим СоколовскийCTO

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

374
15

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

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

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

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

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

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