evk / ds.migrate
bitrix migration module
Installs: 547
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:bitrix-module
Requires
- php: >=5.6.0
- ext-iconv: *
- ext-json: *
- composer/installers: ~1
This package is auto-updated.
Last update: 2025-04-28 21:38:15 UTC
README
Помогает переносить изменения между нескольким копиями проекта.
Все изменения для базы данных пишутся в файлы миграций, эти файлы, как и весь код проекта, хранятся в системе контроля версий (например git) и попадают в копии разработчиков, после чего им необходимо выполнить установку новых миграций, чтобы обновить бд.
Работать можно как через консоль, так и через админку.
Установка через composer
Пример вашего composer.json с установкой модуля в local/modules/
{
"extra": {
"installer-paths": {
"local/modules/{$name}/": ["type:bitrix-module"]
}
},
"require": {
"evk/ds.migrate": "dev-master"
},
}
Консоль
Для работы через консоль используется скрипт /bitrix/modules/ds.migrate/tools/migrate.php
Можно запускать его напрямую или сделать алиас, создав файл в корне проекта, bin/migrate и прописав в нем:
#!/usr/bin/env php
<?php
$_SERVER['DOCUMENT_ROOT'] = dirname(__DIR__);
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/ds.migrate/tools/migrate.php';
Примеры команд
- php bin/migrate add (создать новую миграцию)
- php bin/migrate ls (показать список миграций )
- php bin/migrate up (накатить все миграции)
- php bin/migrate up [version] (накатить выбранную миграцию)
- php bin/migrate down (откатить все миграции)
- php bin/migrate down [version] (откатить выбранную миграцию)
Тегирование миграций
При установке новых миграций их можно пометить произвольным тегом: php bin/migrate up --add-tag=release001
Это бывает удобно в случае отката релиза, когда требуется вернуть его в начальное состояние, при условии что написан код отката
Откат миграций по тегу: php bin/migrate down --tag=release001