Skip to content
Bitrix module for migrations
PHP Other
  1. PHP 99.5%
  2. Other 0.5%
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
admin Вывод общей таблицей в истории и при применении миграций Jun 6, 2017
data Примерное время миграций должно быть в секундах May 5, 2017
docs
install
lang #1 Корректировка кода на соответствие версии интерпретатора php 5.3 Jun 1, 2017
lib Отключена проверка прав при поиске инфоблока в билдере. May 24, 2019
scripts
.gitignore Composer Apr 17, 2017
LICENSE Основа модуля Mar 22, 2017
README.md
composer.json Установка модуля через composer Apr 19, 2017
description.ru Основа модуля Mar 22, 2017
include.php
options.php Изменение дефолтного пути расположения миграций Jun 16, 2019
prolog.php
updater.php Установка модуля через composer Apr 19, 2017

README.md

Модуль миграций 2.0

Модуль миграций для CMS "1С-Битрикс" – быстрые и стабильные обновления баз данных проекта.

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

Возможности

  • Составление сценариев миграций с помощью специальных билдеров, специально предназначенных для этих нужд. Таким образом создание новых сущностей данных будет происходить не труднее чем через административный интерфейс;
  • Актуализация данных. Бавают случаи когда данные нужно "подправить" не меняя структуры - миграции подходят для этого как нельзя кстати. Сценарий будет запущен один раз и для всех площадок;
  • Работа через командную строку. Обновление можно выполнять как вместе с обновлением исходного кода, так и использовать специальные инструменты систем версионирования - запуска скриптов после обновления.

Преимущества

  • Стабильность. Сценарии миграций данных составляются и отлаживаются командой.
  • Удобство. Модуль обладает широким спектром функционала для манипулирования миграциями.
  • Информативность. Удобный вывод списков миграций при работе через консоль.
  • Предсказуемость. Можно указывать примерное время выполнения миграций – это будет спобоствовать правильному принятию решения при обновлении.

Как это работает?

Простейшая схема работы команды над проектом выглядит следующим образом:

Схема работы над проектом

Есть локальные площадки програмистов и есть сервера которые доступны "извне" через Интернет. Каждая площадка имеет отдельную базу данных. Базы данных площадок отличаются только наполнением, но схемы (таблицы, поля, инфоблоки и т.д.) данных одинаковы.

Процесс изменения схемы данных (либо манипуляции над данными) которые нужны для каждой площадки следующий:

  1. Необходимо сделать изменения в схеме данных на проекте. К примеру добавить поле в одну из сущностей, которое будет использоваться новой функцией.
  2. Разработчик создает миграцию добавления нового поля. Миграцией будет являться файл (класс php), определенного формата, в котором необходимо написать сценарии обновления (добавления поля) и отката (удаления поля) на случай неудачного применения обновления или отката версии проекта на предыдущую.
  3. Запускает миграцию на локальной копии проекта, отлаживает применение и откат миграции.
  4. Регистрирует миграцию в системе версионирования. Так исходный код для запуска миграции распространится по всем платформам.
  5. Каждая площадка получившая исменения исходного кода запускает обновления миграций.

Таким образом новое поле в базу данных добавляется для всех площадок получивших изменения одинаковым образом.

Что дальше?

You can’t perform that action at this time.