Каталог решений

Покупка продления купона

Продолжительность:
Общая сумма:
0 руб.
Ваш запрос успешно отправлен!

Я согласен с условиями активации продлений
Продлить
Продолжить покупки

Миграции для разработчиков

Модуль помогает переносить изменения между нескольким копиями проекта.Все изменения для базы данных пишутся в файлы миграций, эти файлы,  как и весь код проекта, хранятся в системе контроля версий (например  git) и попадают в копии разработчиков, после чего им необходимо  выполнить установку новых миграций, чтобы обновить бд.Работать можно как через консоль, так и через админку.Маркетплейсhttp://marketplace.1c-bitrix.ru/solutions/sprint.migration/Composerhttps://packagist.org/packages/andreyryabin/sprint.migrationДокументацияhttps://github.com/andreyryabin/sprint.migration/wikiСтатьиhttps://dev.1c-bitrix.ru/community/webdev/user/39653/blog/Поддержать разработкуhttps://yoomoney.ru/to/410012104240288

Миграции для разработчиков

Миграции для разработчиков

от Рябин Андрей
Скриншоты
Описание

Технические данные

Опубликовано:
03.03.2015
Обновлено:
03.10.2024
Версия:
4.15.1
Установлено:
Более 1000 раз
Подходящие редакции:
«Первый сайт», «Старт», «Стандарт», «Малый бизнес», «Бизнес», «Корпоративный портал», «Энтерпрайз»
Адаптивность:
Нет
Поддержка Композита:
Нет
Совместимо с Сайты24
Нет
Совместимо с PHP 8.1
Да

Пользовательское соглашение

Описание

Модуль помогает переносить изменения между нескольким копиями проекта.

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

Работать можно как через консоль, так и через админку.

Маркетплейс
http://marketplace.1c-bitrix.ru/solutions/sprint.migration/
Composer
https://packagist.org/packages/andreyryabin/sprint.migration
Документация
https://github.com/andreyryabin/sprint.migration/wiki
Статьи
https://dev.1c-bitrix.ru/community/webdev/user/39653/blog/
Поддержать разработку
https://yoomoney.ru/to/410012104240288
Отзывы (16)
Обсуждения (46)
1 - 5 из 46
Что нового
4.15.1 (03.10.2024) 1) Миграция удаления инфоблоков (автор @Elnadrion)
4.12.6 (22.08.2024) 1) Запоминание отображения списка миграций
2) Добавил поиск миграций в шапку списка миграций
3) Добавил фильтр "Актуальные" - показывает все миграции начиная с первой неустановленной
4) Перенос прав доступа для статусов форм (arPERMISSION)
5) Ускорена работа с установкой и откатом списка миграций в админке
4.10.4 (02.07.2024) 1) Миграция агентов без обязательной привязки к модулю
2) Фильтр по неизвестным миграциям
3) Улучшен интерфейс миграций агентов и пользовательских полей
4) Миграция для пользовательских полей (автор @Cleverscript)
5) Удаление и перенос миграций с контентом (автор @GTAlexxx)
6) Уменьшен размер файлов миграций для веб-форм
7) Отображение автора, даты создания и установки миграции (автор Андрей Донец и др.)
8) Исключение при откате миграции (авторы @w1cerg @pu6elozed)
9) Добавлено сохранение информации об установке миграции
10) Миграция веб-форм научилась выгружать отдельные поля
11) Горизонтальный скроллинг для списка миграций
12) Из схемы настроек модулей исключён sprint.migration (автор @pu6elozed)
13) SQL хелпер для удаления таблиц (автор @Elnadrion)
4.8.2 (11.05.2024) 1) Поиск по выпадающим спискам (автор @SatanaKonst )
2) Поменять местами миграцию категорий и элементов инфоблоков (автор @Mvaice)
3) Подправить сортировку свойств при добавлении к инфоблоку (автор @ildar_kkk)
4) Отображение дополнительной информации об ошибках (автор Сергей Проханов)
4.6.1 (22.10.2023) 1) Поддержка настройки параметров для умного фильтра (автор Petr Lebedev @defast)
2) Убрано поле SERVER_NAME при экспорте инфоблока (автор Андрей Чурсин)
3) Ошибка при создании группы пользователей с полем SECURITY_POLICY (автор @jasmanchik)
4) Подсказка в миграциях об обязательных полях (автор @igord_sdk, @Hasanov_Evgeny)
5) Вынесены в конфиг формат даты для создания файла миграции и регулярное выражение для поиска миграций (авторы @Semyashkin, @ivan_milov, @LebedevPV, @ildar_kkk)
6) Поддержка настройки параметров для умного фильтра (автор @defast)
7) Улучшено создание миграций для highload-блока (автор @defast)
4.2.4 (12.01.2023) 1) Перенос вкладки Журнал событий для миграции инфоблока (автор @SkeitOl)
2) Доработка схемы почтовых событий (автор @jasmanchik )
3) Параметр в конфигурации exchange_dir, переопределяющий директорию файлов импорта (xml и картинок) (автор @casnerano)
4) Миграция названий пользовательских колонок в списках (custom_names) (автор @Sinator)
5) Возобновление длительной миграции, добавлена кнопка "Запустить снова" (автор @Sinator)
6) Откат добавленных элементов в инфоблоках и справочниках (автор Владимир Засорин)
7) Корректный перенос почтовых шаблонов для форм (список arMAIL_TEMPLATE) (автор SergeyBeloglazovRL)
8) Строгий режим установки миграций, при ошибке в одной из миграций процесс останавливается
9) Перенос элементов highload-блоков по xml_id
10) Перенос привязанных элементов инфоблока (автор fenix63)
11) Добавлен метод $this->checkRequiredVersions([VersionName1]), бросающий исключение в случае, если нужные миграции не установлены
12) Добавлено свойство $requiredVersions=[VersionName1, VersionName2], не дающее установить миграцию, если не установлены заданные
13) Убраны параметр в конфиге version_filter и метод в классе миграции $this->isVersionEnabled(), некоректно фильтровавший список миграций 14) Методы в классе миграции saveData, getSavedData, deleteSavedData, перенесены внутрь объекта $this->getStorageManager()
4.1.3 (28.11.2022) 4.1.3 (28.11.2022)
Убраны предыдущие версии модуля для возможности установки модуля через маркетплейс с php 8.0 (автор Elnadrion)

4.1.1 (17.07.2022)
1) Сортировка при добавлении агента (автор @artemSmagin)
2) Отключен архивный конфиг миграций, создается через настройки (автор @zatrofeemranoutrom)
3) Блокировка интерфейса (автор Sinator)
4) Улучшен перехват ошибок (автор Sinator)
5) Событие OnSearchConfigFiles для подгрузки сторонних конфигов (автор Антон Соколов)
6) Улучшена миграция элементов в разделы c одинаковыми наименованиями (автор reygasai)
8) совместимость в php 8.0 (автор smilingcheater)

4.0.2 (12.12.2021)
1) Версия php повышена до 7 версии
2) Новый интерфейс форм создания миграций
3) Исправление ошибок в 4.0.0 (автор Ramil' Yunaliev)

3.30.1 (24.10.2021)
1) Перенос настроек SEO инфоблока (автор SkeitOl)

3.29.5 (12.10.2021)
1) Совместимость параметров свойств инфоблока для старых версий битрикса (автор James Foster)

3.29.3 (22.09.2021)
1) Расширены сообщения об ошибках (автор Arkharis)
2) Перенос параметров свойств инфоблока (автор AlexandrKhurs, w1cerg )
3) Галочка переноса свойства инфоблока не останавливает создание миграции если их нет (автор Артем Первушин)
4) Переделан хелпер работающий с настройками, поддержка работы с b_option_site (автор AlexandrKhurs)

3.28.7 (05.05.2021)
1) Поправлены тексты ошибок

3.28.3 (10.04.2021)
1) Перенос изображений медиабиблиотеки (автор Андрей Pum-purum)
2) Перенос описаний элементов для текстовых свойств инфоблока (автор Mikhail akellaweb)

3.25.1 (25.02.2021)
1) Публичный метод для установки миграций из других модулей (автор vahitovOM)
2) Улучшена сортировка миграций в списке, в случае если название миграции заканчивается числом

3.23.4 (02.12.2020)
1) Выбор нескольких элементов для переноса (автор Андрей @icantstopthinkingofyou)
2) Переноса свойств инфоблока с типом привязка к категории (автор Андрей @icantstopthinkingofyou)
3) Кнопка удаления всех неизвестных миграций
4) Ошибка в классе миграции не сломает отображение списка миграций (работает в php7 и выше)

3.22.2 (08.11.2020)
1) Выбор нескольких элементов для переноса (автор Андрей @icantstopthinkingofyou)

3.21.3 (01.11.2020)
1) Консольные команды доступны также через консоль симфони при подключении модуля как бандла Sprint\Migration\SymfonyBundle\SprintMigrationBundle()
2) Настройки переноса элементов инфоблока (автор Андрей @icantstopthinkingofyou)

3.19.1 (12.10.2020)
1) Исправлен вывод ошибок при ненайденном файле миграции (автор Игорь Долгополов)
2) Исправлена ошибка при переносе несуществующего файла (автор Павел, Вор Колпаков)
3) Метод $helper->UserTypeEntity()->deleteUserTypeEntity() также удаляет пользовательское поле по коду сущности (автор Сергей Грипинский)
4) Новые методы в хелперах:
  • $helper->Iblock()->saveElement()
  • $helper->Iblock()->saveSection()
(автор Павел, Вор Колпаков)
5) Отключены обработчики авторизации в консоли

3.16.3 (28.07.2020)
1) Возвращен параметр в конфиге tracker_task_url (автор @Oldfag)
2) Корректное отображение ошибки при попытке создать таблицы миграций (автор @oleg_slinko)
3) Добавлена поддержка английского языка

3.14.6 (24.03.2020)
1) Текстовое отображение статуса миграций в админке (автор Сергей Белоглазов)

3.14.4 (02.03.2020)
1) Улучшение кода для проверки через Монитор качества (автор Anton)
2) Параметр в конфиге отключающий обработчики авторизации в консоли (автор Михаил Старков)
3) Исправление миграции по переносу категорий инфоблоков (автор FOlegF)

3.13.4 (10.02.2020)
1) Перенос миграций через меню действий в админке
2) Обработка исключений в обработчике EventHelper (автор anloc)

3.13.1 (02.02.2020)
1) Доработка миграции по настройке отображения форм (автор Nikita Kurgalin)
2) Улучшение интерфейса админки, новые действия, группировка действий в меню

3.12.17 (22.01.2020)
1) Доработка миграции по отображению списка элементов инфоблока
2) Фильтр не поддерживаемых и измененных миграций в админке и консоли
3) XML_ID проверка на непустые строки (автор leonid-chernyavskiy)
4) Перенос поля "Активность" в миграции по переносу элементов инфоблоков (автор Суздальцев Виктор)

3.12.12 (10.01.2020)
1) Перенос элементов в категории инфоблоков
2) Проверка совместимости миграции с версией модуля

3.12.10 (26.12.2019)
1) Улучшение "Настройки форм редактирования", перенос, изменение id табов
2) Улучшение переноса пользовательских свойств - привязка к HL и привязка к инфоблоку (автор Игорь Долгополов)
3) Перенос категорий инфоблоков
4) Получение категорий элемента инфоблока в IblockHelper
5) Указание версии модуля при создании миграции

3.10.1 (05.11.2019)
1) Помечать миграцию как выполненную при создании через конструктор
2) Улучшение поиска файлов миграций (автор Игорь Долгополов)
3) Поиск миграций по тегам

3.9.1 (15.10.2019)
1) Параметр в конфиге version_name_template позволяющий задавать название файла миграции (автор Константин Карнаухов)

3.8.6 (06.10.2019)
1) Улучшение шаблонов миграций (автор Константин Карнаухов)

3.8.5 (30.09.2019)
1) Улучшение локализации

3.8.4 (30.09.2019)
1) Гаджет "Сводка по миграциям" для рабочего стола (автор Konstantin Sumarokov)
2) Перенос статусов форм (автор Konstantin Sumarokov)
3) Создание категорий инфоблока из древовидной структуры (пример examples/Version20190606000013.php)
4) Улучшения в схемах почтовых событий (автор Konstantin Sumarokov)

3.6.8 (22.09.2019)
1) Проверка создания директорий модулем (автор Konstantin Sumarokov)

3.6.7 (22.09.2019)
1) Перенос подписей инфоблоков (автор skDYLAN)
2) Исправление при работе со схемами свойств инфоблоков (автор Konstantin Sumarokov)

3.6.2 (12.09.2019)
1) Версия php поднята до 5.6
2) Перенос элементов инфоблоков (автор Евгений Семашко)
3) Перенос элементов highload-блоков (справочников)
4) Помощник для транзакций в миграциях (автор skDYLAN)
5) Перенос настроек оформления для гридов main.interface.grid
6) Убран параметр tracker_task_url в конфиге

3.4.6 (18.07.2019)
1) Исправление кодировки кнопок в схемах (автор Pavel Tupikov)

3.4.5 (16.07.2019)
1) Улучшения на странице настроек модуля

3.4.3 (20.06.2019)
1) Группа в телеграме https://t-do.ru/sprint_migration_bitrix

3.4.2 (20.06.2019)
1) Хелпер для медиабиблиотеки

3.3.7 (06.06.2019)
1) Экспорт\импорт настроек форм редактирования и списков
2) Добавлены методы для работы с правами групп к инфоблокам и highload-блокам

3.1.2 (30.05.2019)
1) Добавлен перенос настроек полей разделов инфоблока при создании миграции
2) Консольная команда для удаления миграций (автор @webarchitect609)
3) Тегирование миграций (автор Панычев Дмитрий, Пашкевич Сергей)

3.0.16 (29.03.2019)
1) Улучшение метода AdminIblockHelper::saveElementForm для сохранения настроек форм в нескольких инфоблоках (автор) Aslanator

3.0.15 (10.03.2010)
1) Ускорен импорт схемы инфоблоков за счет обновления свойств за один шаг

3.0.14 (10.03.2010)
1) Службы доставки для магазина (автор Сергей Грипинский)
2) Отображение изменений при импорте схемы
3) phpdoc для хелперов

3.0.9 (03.02.2010)
1) Проверка на наличие модуля и в bitrix и в local (автор Макеев Илья)
2) Регистрация собственных хелперов (автор Соловов Дмитрий)
3) Схема импорта почтовых событий
4) Флаг migration_dir_absolute для указания абсолютного пути до директории миграций (автор Соловов Дмитрий)

3.0.7 (28.12.2018)
1) Корректное сохранение инфоблоков для разных сайтов (автор Сергей Волков)

3.0.5 (25.12.2018)
1) При экспорте схемы она помечается как установленная

3.0.4 (24.12.2018)
1) Схемы данных, новый подход к обмену изменениями между копиями проекта
2) Подключен битриксовый автозагрузчик модулей, перенос классов модуля в lib/
3) Повышение минимальной версии php до 5.4
4) Создание миграций для настроек модулей
5) Обновление вариантов для типов полей "список" CIBlockPropertyEnum (автор Alexandr Kuznetsov)

2.8.16 (06.11.2018)
1) Создание миграций для почтовых событий
2) Миграция для вебформ (автор Stepan Rodionov)
3) Группировка конструкторов в 2 колонки
4) Удаление конфигураций
5) Скроллинг списка миграций в админке

2.8.12 (15.10.2018)
1) Миграция групп пользователей (автор Maxim Lyaptsev)
2) Миграция для агентов
3) Создание конфигураций в админке и консоли

2.8.7 (11.10.2018)
1) Генерация для переноса значений e-num списков пользовательских полей (автор Матасов Олег)
2) Новая конфигурация для архивных миграций
3) Перенос миграций между конфигурациями (автор Горбунов Александр)
4) Методы save в хелперах создают или обновляет сущности, совмещая addIfNotExists и updateIfExists

2.8.5 (15.09.2018)
1) Доработка метода updatePropertyIfExists, проверка связанного инфоблока
2) Кнопка Выбрать все для чекбоксов в конструкторах миграций

2.8.1 (05.09.2018)
1) Создание миграции для инфоблока у которых нет свойств (при включенной галочке "Экспортировать свойства инфоблока") (автор Евгений Пономарёв)
2) Сохранение хеша миграции для проверки менялась ли она или нет после установки
3) Отказ от mssql

2.7.3 (30.08.2018)
1) Доработка генерации миграции для привязки к элементу инфоблока (автор Maxim Lyaptsev)
2) Админка миграций перенесена из Сервисов в Настройки
3) Улучшены конструкторы: "Создать миграцию для инфоблока"
  • "Создать миграцию для highload-блока"
  • "Создать миграцию для пользовательских полей"

4) Добавлен метод isBuilderEnabled для конструкторов миграций, по которому определяется доступен ли конструктор для запуска или нет

2.6.1 (06.08.2018)
1) Каждая конфигурация создает пункт меню в админке
2) Запуск миграций из консоли устанавливает модуль если он не был установлен

2.5.8 (12.07.2018)
1) Выбор инфоблока из выпадающего списка (автор Max Lyaptsev)
2) Миграция свойств инфоблока (автор Max Lyaptsev)

2.5.5 (30.05.2018)
1) Добавлены методы в IblockHelper
2) Исправлены опечатки в описаниях (автор ildar r. khasanshin)

2.5.3 (03.03.2018)
1) Добавлен метод isVersionEnabled() в классе миграции, по которому может фильтроваться и выполняться список миграций (автор Игорь Пинчук)
2) Добавлен параметр в конфиге version_filter - массив по которому может фильтроваться и выполняться список миграций

2.5.2 (04.11.2017)
1) Поправил ошибку при которой всегда создавалась дефолтная директория для миграций, даже если задана другая
2) При создании миграции для инфоблока, в свойства типа список не мигрируют значения Issue #35

2.5.1 (30.07.2017)
1) Настройка в конфиге для скрытия сервиса в админке (автор Митин Вадим)
2) Создание миграции для пользовательских полей
3) Авторизация под админом в консоли
4) Убрана проверка доступа при получении списка элементов и секций в хелпере IblockHelper
5) Убран лимит у команд up и down в консоли, добавлена документация

2.4.4 (25.05.2017)
1) Создание миграции для higload-блока
2) Параметр stop_on_errors должен принимать значения true/false а не yes/no (автор Web Architect)
3) Улучшен формат вывода ошибок, код, сообщение и stack-trace при возникновении исключений (автор Web Architect)
4) Если упала одна миграция, а остальные выполнились, то даже в этом случае возвращаемый код обязан быть ненулевым (автор Web Architect)

2.4.3 (20.05.2017)
1) После вывода ошибки в консоль завершаться с ненулевым статусом (автор Web Architect)
2) Улучшено отображение таблиц в консоли
3) Добавлен параметр отвечающий за остановку выполнения миграций при появлении ошибок
4) Удалена команда status из консоли, бесполезная

2.4.2 (10.05.2017)
1) Улучшение интерфейса в админке, консоли
2) Алиасы для команд list - ls, create - add
3) Конструкторы миграций по шаблонам
4) Создание миграций из текущего состояния инфоблока #30 (автор Dmitriy Tretyakov )

2.4.1 (23.02.2017)
1) Добавлена возможность добавлять и удалять по несколько user fields (автор Andrew Kopylov)
2) Сохранение данных по миграции issue #28 (автор anton-citrus-soft NA)
3) Хелпер для сайтов issue #27 (автор Dmitriy Tretyakov )

2.3.9 (02.02.2017)
1) Расширить функционал хелпера AdminIblock Issue #26 (автор Dmitriy Tretyakov)

2.3.8 (10.01.2017)
1) Команда для удаления неизвестных миграций Issue #25 (автор Marat Bakirov)

2.3.6 (25.12.2016)
1) Отмечаем миграцию как установленную без выполнения Issue #23 (автор Егор Ковязин)
2) Управление правами доступа для модуля миграций Issue #24 (автор Sergii Martynovych)

2.3.5 (09.11.2016)
1) Дополнительные конфиги для модулей Issue #20 (автор Никита Морковкин)
2) Добавить возможность работы с HL блоками Issue #21 (автор Sergey Polyakov)

2.3.4 (01.11.2016)
1) Ошибка в IblockHelper::addProperty() Issue #22 (автор Анатолий Солдатов)

2.3.3 (26.09.2016)
1) Поиск миграций по названию и описанию в админке и консоли, флаг --search=text
2) Исправление отображения вывода в консоли для битрикса в кодировке windows-1251

2.3.2 (12.09.2016)
1) Правка добавления типа инфоблока pull-requests №5 (автор Антон Тузлуков)
2) Метод addSectionIfNotExists pull-requests №4 (автор Антон Тузлуков)
3) Добавил хелпер для настройки форм добавления элементов pull-requests №2 (автор Антон Тузлуков)
4) Удаление экранирующих слешей при просмотре описаний миграций Issue #17 (автор XOlegator)
5) Не хватает функции deleteIblockTypeIfExists Issue #16 (автор Аноним)
6) Добавить методы работы с секциями Issue #10
7) Добавлен вывод сообщений от миграций в админку (вкладка логирование)
8) Классы помощники сгруппированы в менеджер, пример: $helper = new HelperManager(); $iblockId = $helper->Iblock()->getIblockId('code');

2.3.1 (03.08.2016)
1) Безопасное отображение описания миграции в админке и консоли
2) Опция в конфиге tracker_task_url - позволяет делать ссылки на трекер задач по шаблону #номер
3) Доработки интерфейса в админке и консоли

2.2.12 (26.07.2016)
1) Антон Тузлуков: Наименования файлов миграций (Issue #14), Проверка по типу инфоблока (Issue #15)
2) Alexandr Kuznecov: Сделать фоллбэк для удаленных методов getSitesIfExists() getLangsIfExists()
3) Блокировка кнопок при выполнении миграций в админке
4) Доработки интерфейса в админке и консоли

2.2.11 (10.06.2016)
1) Доработки в хелпере UserGroupHelper (Issue #12, Issue #13)

2.2.9 (01.06.2016)
1) Исправления в хелпере UserTypeEntityHelper (Issue #11)

2.2.8 (02.04.2016)
1) Поправлены стили и дополнен метод выводящий прогресс-бар для старой битриксовой админки версии 10.0.4

2.2.7 (15.01.2016)
1) Исправления в хелперах

2.2.6 (05.01.2016)
1) Поправлены языковые файлы

2.2.5 (25.12.2015)
1) Упрощение кода миграций за счет исключений в хелперах
2) Добавлена новая документация в README

2.2.4 (12.11.2015)
1) Кодировка легенды в админке
2) Добавлена новая документация в README
3) Добавлены новые команды для консольного режима

2.2.3 (26.10.2015)
1) Интеграция с composer installers
2) Новые команды в консоли

2.0.3 (11.05.2015)
Публикация модуля, праздничная дата :)
Установка
1) маркетплейс
2) composer

Документация
https://github.com/andreyryabin/sprint.migration/wiki
Поддержка
Вопросы и предложения по улучшению пишите в трекеры задач

https://github.com/andreyryabin/sprint.migration/issues

или в телеграм: https://t.me/sprint_migration_bitrix

Другие решения разработчика

Решение добавлено в корзину

Перейдите в корзину и оформите заказ или продолжите покупки
Перейти в корзину
Продолжить покупки