2017 © Pedro Peláez
 

library migration

Bitrix migration based on Doctrine migration component

image

rey/migration

Bitrix migration based on Doctrine migration component

  • Monday, October 10, 2016
  • by olegator8800
  • Repository
  • 4 Watchers
  • 2 Stars
  • 18 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

ReyMigration

Битрикс миграции на основе компонента Doctrine Migration, (*1)

Scrutinizer Code Quality Join the chat at https://gitter.im/Olegator8800/ReyMigration, (*2)

Установка

Composer:, (*3)

$ php composer.phar require rey/migration dev-master

Использование

Создать файл н.п bin/console, (*4)

    #!/usr/bin/env php
    <?php

    use Symfony\Component\Console\Application;
    use Doctrine\Common\Annotations\AnnotationRegistry;
    use Rey\BitrixMigrations\Configuration;
    use Rey\BitrixMigrations\MigrationManager;

    //указать путь до проекта
    $_SERVER['DOCUMENT_ROOT'] = __DIR__.'/../htdocs/';

    $loader = require __DIR__.'/../vendor/autoload.php';
    AnnotationRegistry::registerLoader(array($loader, 'loadClass'));

    $console = new Application('console');
    $config = new Configuration();

    $config->setConnectionParameters(
                            array(
                                'dbname' => 'mydatabase',
                                'user' =>  'root',
                                'password' => '',
                                'host' => '127.0.0.1',
                                'driver' => 'pdo_mysql',
                            )
                        );

    $config->setMigrationsParameters(
                            array(
                                'migrations_directory' => __DIR__.'/../migration',
                            )
                        );

    $bitrixMigrationManager = new MigrationManager($console, $config);
    $bitrixMigrationManager->init();

    $console->run();

И запустить из консоли, (*5)

$ php bin/console

Для генерации новой миграции выполнить команду:, (*6)

$ php bin/console bitrix:migrations:generate

Будет сгенерированная пустая миграция в дириктории %migrations_directory, (*7)

Класс миграции по умолчанию унаследован от Rey\BitrixMigrations\AbstractMigration (можно переопределить параметром %abstract_class в MigrationsParameters), (*8)

Для использования api битрикса достаточно вызвать метод $this->enableBitrixAPI();, (*9)

    public function up(Schema $schema)
    {
        $this->enableBitrixAPI();
        ...

Для выполнения одиночной миграции выполнить:, (*10)

$ php bin/console bitrix:migrations:execute %номер_миграции% --up

Для отката выполнить коману с ключем --down, (*11)

$ php bin/console bitrix:migrations:execute %номер_миграции% --down

Для выполнения всех ненакаченных миграцйи выполнить:, (*12)

$ php bin/console bitrix:migrations:migrate

Для просмотра статуса миграций:, (*13)

$ php bin/console bitrix:migrations:status

Для детальной информации по каждой миграции выполнить с ключом --show-versions, (*14)

$ php bin/console bitrix:migrations:status --show-versions

MySql Lite Driver

При использование MySql для ускорения работы можно воспользоваться "упрощенным" драйвером. Заменить параметр driver на driverClass., (*15)

    $config->setConnectionParameters(
                            array(
                                ...
                                'driverClass' => new \Rey\BitrixMigrations\Driver\PDOMySql\LiteDriver(),
                            )
                        );

The Versions

10/10 2016

dev-master

9999999-dev https://github.com/Olegator8800/ReyMigration

Bitrix migration based on Doctrine migration component

  Sources   Download

MIT

The Requires

 

by Nikita Krasnoyartsev
by Oleg Filimoshin

migration bitrix