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

Миграция данных между несколькими разработчиками

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

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

Сначала немного предистории.

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

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

Однажды нам это надоело, и мы решили, что программистам следует работать с локальной базой данных без доступа к административной панели. Все изменения делались с помощью API в файлах миграций. Требуется добавить инфоблок новостей? Пиши код на API. Переносить изменения в базу данных при релизе стало проще, но программистам приходилось постоянно отвлекаться на написание миграций на API, даже не смотря на все вспомогательные скрипты, которые мы использовали. Хотя над некоторыми проектами мы и сейчас так работаем.

Первые наработки будущего модуля появились еще во время поездки на зимнюю партнерскую конференцию «1С-Битрикс». Но, как часто это бывает, внутренние проекты делаются в самую последнюю очередь. Поэтому только сейчас, спустя несколько месяцев, мы готовы показать результаты работы.

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

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

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

 

169
3

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

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

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

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

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

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