/ZFSTool

ZFCTool

Primary LanguagePHP

То что тесты проходят успешно это ещё ни о чем не говорит (c)

Build Status

Dependency Status

Latest Stable Version Total Downloads Latest Unstable Version License

Coverage Status

ZFCTool - Zend Framework 2 command line Tool


###Установка:

Добавляем в composer.json:

{
    "require-dev": {
        "zfstarter/zfs-tool": "dev-master"
    }
}

И обновляем зависимость:

$ curl -s http://getcomposer.org/installer | php
$ php composer.phar update

В config\autoload\global.php

указываем, если нужно, директорию где находятся модули, как будет называться директория с миграциямии и таблица в БД:

return array(
//...
    'ZFCTool' => array(
        'migrations' => array(
            // Path to modules directory
            'modulesDirectoryPath' => 'module_app'
        ),
    )
);

###Работа с миграциями:

###Пример работы с миграциями:

####Создание миграции Если необходимо сгенерировать миграцию для определенного модуля, когда под него таблица в БД уже создана:

php vendor/bin/zfc.php gen migration --module=Pages --whitelist=pages -c

при этом указываем имя модуля (регистр важен), а также имя нужной таблицы задаем в "whitelist", если не хотите добавлять лишнии таблици в миграцию, сразу же комитем эту миграцию, для этого параметр "-c"

####Применение миграции

Если при апдейте кода к вам "пришла" новая миграция, то чтобы обновить БД вам нжно выполнить всего одну команду:

php vendor/bin/zfc.php up db

если не указывать дополнительных параметров, то применяться все существующие миграции. ####Список всех миграций

  ~$ php vendor/bin/zfc.php ls migrations [--module]

module - (Опциональный) вывести только миграции указанного модуля

####Обновить БД к указанной миграции

  ~$ php vendor/bin/zfc.php up db <to> [--module]

module - (Опциональный) название модуля, к которому будет применяться (если не указан, то применяеться ко всем миграциям) to - (Опциональный) имя миграции к которой обновить (если не указан, то обновить к последней)

####Откатить миграции все мигрции до указанной, включая её

  ~$ php vendor/bin/zfc.php down db <to> [--module]

module - (Опциональный) название модуля, к которому будет применяться (если не указан, то применяеться ко всем миграциям) to - (Опциональный) имя миграции, которую откатить (если не указан, то откатить все)

####Показать текущую миграцию

  ~$ php vendor/bin/zfc.php show migration

####Сгенерировать миграцию

  ~$ php vendor/bin/zfc.php gen migration [--module] [--whitelist] [--blacklist] [-c] [-e]

module - (Опциональный) название модуля, для которого сгенерируеться миграция

module - (Опциональный) название модуля, для которого сгенерируеться миграция whitelist - (Опциональный) список таблиц, для которых генерить blacklist - (Опциональный) список таблиц исключения c - (Опциональный) сразу же после создания применить миграцию e - (Опциональный) создать пустой шаблон миграции

####Принудительное применение миграции

  ~$ php vendor/bin/zfc.php ci migration <to> [--module]

module - (Опциональный) название модуля, где находиться миграция to - имя миграции, которую следует применить

####Откат мигрций

  ~$ php vendor/bin/zfc.php back db [--module] [--step]

module - (Опциональный) название модуля step - (Опциональный) количество откатываемых миграций

####Показать различие в стрцктуре БД между последним обновлением и текущим состоянием

  ~$ php vendor/bin/zfc.php diff db [--module] [--whitelist] [--blacklist]

module - (Опциональный) название модуля, для которого сгенерируеться миграция whitelist - (Опциональный) список таблиц, для которых генерить blacklist - (Опциональный) список таблиц исключения

###Работа с дампом БД:

####Создание дампа БД:

  ~$ php vendor/bin/zfc.php create dump [--module] [--name] [--whitelist] [--blacklist]

name - (Опциональный) имя дампа module - (Опциональный) название модуля, для которого сгенерируеться дамп whitelist - (Опциональный) список таблиц, для которых генерить blacklist - (Опциональный) список таблиц исключения

####Импорт дампа БД:

  ~$ php vendor/bin/zfc.php import dump <name> [--module]

module - (Опциональный) название модуля, для которого сгенерируеться дамп name - (Опциональный) имя дампа

Support

If you believe you have found a bug, please report it using the GitHub issue tracker, or better yet, fork the library and submit a pull request.