Класс yii\mongodb\console\controllers\MigrateController
Управляет миграциями приложения MongoDB.
Это аналог yii\console\controllers\MigrateController для MongoDB.
Эта команда предоставляет поддержку отслеживания истории миграций, обновления или загрузки с миграциями и создания новых шаблонов миграций.
История миграций хранится в коллекции MongoDB с именем $migrationCollection. Эта коллекция будет автоматически создана в первый раз при выполнении этой команды, если она не существует.
Для включения этой команды необходимо настроить конфигурацию вашего консольного приложения:
return [
// ...
'controllerMap' => [
'mongodb-migrate' => 'yii\mongodb\console\controllers\MigrateController'
],
];
Ниже приведены некоторые распространенные примеры использования этой команды:
# creates a new migration named 'create_user_collection' yii mongodb-migrate/create create_user_collection # applies ALL new migrations yii mongodb-migrate # reverts the last applied migration yii mongodb-migrate/down
Начиная с версии 2.1.2, в случае использования Yii версии >= 2.0.10, вы можете использовать миграции с именованными пространствами имен. Для активации этой функции необходимо настроить свойство $migrationNamespaces контроллера в конфигурации приложения:
return [
'controllerMap' => [
'mongodb-migrate' => [
'class' => 'yii\mongodb\console\controllers\MigrateController',
'migrationNamespaces' => [
'app\migrations',
'some\extension\migrations',
],
//'migrationPath' => null, // allows to disable not namespaced migration completely
],
],
];
Общедоступные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $action | yii\base\Action | Действие, которое в настоящее время выполняется. | yii\base\Controller |
| $behaviors | yii\base\Behavior[] | Список прикрепленных к этому компоненту поведений. | yii\base\Component |
| $color | boolean | Включить ANSI цвет в выводе. | yii\console\Controller |
| $db | yii\mongodb\Connection|string | Объект подключения к БД или идентификатор компонента приложения для подключения к БД. | yii\mongodb\console\controllers\MigrateController |
| $defaultAction | string | Действие по умолчанию для команды. | yii\console\controllers\BaseMigrateController |
| $help | boolean | Отображать ли справочную информацию о текущей команде. | yii\console\Controller |
| $helpSummary | string | yii\console\Controller | |
| $id | string | Идентификатор этого контроллера. | yii\base\Controller |
| $interactive | boolean | Выполнять команду интерактивно. | yii\console\Controller |
| $layout | null|string|false | Имя макета, применяемого к представлениям этого контроллера. | yii\base\Controller |
| $migrationCollection | string|array | Название коллекции для хранения применённой информации о миграциях. | yii\mongodb\console\controllers\MigrateController |
| $migrationNamespaces | array | Список пространств имён, содержащих классы миграций. | yii\console\controllers\BaseMigrateController |
| $migrationPath | string|array | Директория, содержащая классы миграций. | yii\console\controllers\BaseMigrateController |
| $module | yii\base\Module | Модуль, к которому принадлежит этот контроллер. | yii\base\Controller |
| $modules | yii\base\Module[] | Все родительские модули, в рамках которых находится этот контроллер. | yii\base\Controller |
| $passedOptionValues | array | Свойства, соответствующие переданным параметрам. | yii\console\Controller |
| $passedOptions | array | Имена параметров, переданных во время выполнения. | yii\console\Controller |
| $route | string | Маршрут (идентификатор модуля, контроллера и действия) текущего запроса. | yii\base\Controller |
| $templateFile | string | Шаблонный файл для создания новых миграций. | yii\mongodb\console\controllers\MigrateController |
| $uniqueId | string | Идентификатор контроллера, который предваряется идентификатором модуля (если он есть). | yii\base\Controller |
| $view | yii\base\View|yii\web\View | Объект представления, который можно использовать для рендеринга представлений или файлов представлений. | yii\base\Controller |
| $viewPath | string | Путь к представлению, который может быть префиксом к относительному имени представления. | yii\base\ViewContextInterface |
Общедоступные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путём клонирования существующего. | yii\base\Component |
| __construct() | yii\base\Controller | |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| actionCreate() | Создаёт новую миграцию. | yii\console\controllers\BaseMigrateController |
| actionDown() | Обрабатывает откат приложения, возвращая старые миграции. | yii\console\controllers\BaseMigrateController |
| actionHistory() | Отображает историю миграций. | yii\console\controllers\BaseMigrateController |
| actionMark() | Изменяет историю миграций до указанной версии. | yii\console\controllers\BaseMigrateController |
| actionNew() | Отображает новые не применённые миграции. | yii\console\controllers\BaseMigrateController |
| actionRedo() | Повторяет последние несколько миграций. | yii\console\controllers\BaseMigrateController |
| actionTo() | Обновляет или отменяет до указанной версии. | yii\console\controllers\BaseMigrateController |
| actionUp() | Обновляет приложение, применяя новые миграции. | yii\console\controllers\BaseMigrateController |
| actions() | Объявляет внешние действия для контроллера. | yii\base\Controller |
| afterAction() | Этот метод вызывается сразу после выполнения действия. | yii\base\Controller |
| ansiFormat() | Форматирует строку с кодами ANSI. | yii\console\Controller |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| beforeAction() | Этот метод вызывается непосредственно перед выполнением действия (после всех возможных фильтров). Он проверяет наличие $migrationPath. | yii\mongodb\console\controllers\MigrateController |
| behaviors() | Возвращает список поведений, по которым должен вести себя этот компонент. | yii\base\Component |
| bindActionParams() | Связывает параметры с действием. | yii\console\Controller |
| canGetProperty() | Возвращает значение, указывающее, можно ли считать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| confirm() | Запрашивает у пользователя подтверждение вводом y или n. | yii\console\Controller |
| createAction() | Создаёт действие на основе заданного идентификатора действия. | yii\base\Controller |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| findLayoutFile() | Находит соответствующий файл макета. | yii\base\Controller |
| getActionArgsHelp() | Возвращает справочную информацию для анонимных аргументов действия. | yii\console\Controller |
| getActionHelp() | Возвращает подробную справочную информацию для указанного действия. | yii\console\Controller |
| getActionHelpSummary() | Возвращает краткое описание указанного действия в одной строке. | yii\console\Controller |
| getActionOptionsHelp() | Возвращает справочную информацию для параметров действия. | yii\console\Controller |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все прикреплённые к этому компоненту поведения. | yii\base\Component |
| getHelp() | Возвращает справочную информацию для этого контроллера. | yii\console\Controller |
| getHelpSummary() | Возвращает краткое описание этого контроллера в одной строке. | yii\console\Controller |
| getModules() | Возвращает все родительские модули этого контроллера. | yii\base\Controller |
| getOptionValues() | Возвращает свойства, соответствующие параметрам для идентификатора действия. Подклассы могут переопределить этот метод, чтобы указать возможные свойства. | yii\console\Controller |
| getPassedOptionValues() | Возвращает свойства, соответствующие переданным параметрам. | yii\console\Controller |
| getPassedOptions() | Возвращает имена допустимых параметров, переданных во время выполнения. | yii\console\Controller |
| getRoute() | Возвращает маршрут текущего запроса. | yii\base\Controller |
| getUniqueId() | Возвращает уникальный идентификатор контроллера. | yii\base\Controller |
| getView() | Возвращает объект представления, который можно использовать для рендеринга представлений или файлов представлений. | yii\base\Controller |
| getViewPath() | yii\base\ViewContextInterface | |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, прикрепленный к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определена ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| isColorEnabled() | Возвращает значение, указывающее, включен ли цвет ANSI. | yii\console\Controller |
| off() | Отсоединяет существующий обработчик событий от данного компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| optionAliases() | Возвращает псевдонимы опций. | yii\console\Controller |
| options() | Возвращает имена допустимых опций для действия (id). Опция требует существования публичной переменной-члена, имя которой совпадает с именем опции. | yii\mongodb\console\controllers\MigrateController |
| prompt() | Запрашивает у пользователя ввод и валидирует его | yii\console\Controller |
| render() | Рендерит представление и применяет макет, если он доступен. | yii\base\Controller |
| renderContent() | Рендерит статическую строку, применяя макет. | yii\base\Controller |
| renderFile() | Рендерит файл представления. | yii\base\Controller |
| renderPartial() | Рендерит представление без применения макета. | yii\base\Controller |
| run() | Выполняет запрос, заданный в виде маршрута. | yii\base\Controller |
| runAction() | Выполняет действие с указанным идентификатором действия и параметрами. | yii\console\Controller |
| select() | Предлагает пользователю выбрать из вариантов. Ввод '?' покажет список вариантов и их описания. | yii\console\Controller |
| setView() | Устанавливает объект представления, который будет использоваться этим контроллером. | yii\base\Controller |
| setViewPath() | Устанавливает директорию, содержащую файлы представлений. | yii\base\Controller |
| stderr() | Выводит строку в STDERR | yii\console\Controller |
| stdout() | Выводит строку в STDOUT | yii\console\Controller |
| trigger() | Вызывает событие. | yii\base\Component |
Защищенные методы
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| EVENT_AFTER_ACTION | yii\base\ActionEvent | Событие, срабатывающее сразу после выполнения действия контроллера. | yii\base\Controller |
| EVENT_BEFORE_ACTION | yii\base\ActionEvent | Событие, срабатывающее сразу перед выполнением действия контроллера. | yii\base\Controller |
Константы
| Постоянная | Значение | Описание | Определено в |
|---|---|---|---|
| BASE_MIGRATION | 'm000000_000000_base' | Название миграции по умолчанию, обозначающей начало всей истории миграций. | yii\console\controllers\BaseMigrateController |
| EXIT_CODE_ERROR | 1 | yii\console\Controller | |
| EXIT_CODE_NORMAL | 0 | yii\console\Controller |
Подробное описание свойств
$db открытое свойство
Объект подключения к базе данных или идентификатор компонента приложения для подключения к базе данных.
public yii\mongodb\Connection|string $db = 'mongodb'
$migrationCollection открытое свойство
Имя коллекции для хранения информации о примененных миграциях.
public string|array $migrationCollection = 'migration'
$templateFile открытое свойство
Шаблонный файл для генерации новых миграций. Это может быть псевдоним пути (например, "@app/migrations/template.php") или путь к файлу.
public string $templateFile = '@yii/mongodb/views/migration.php'
Подробное описание методов
addMigrationHistory() защищённый метод
Добавляет новую запись миграции в историю.
| защищённый void addMigrationHistory ( $version ) | ||
|---|---|---|
| $version | string |
Название версии миграции. |
beforeAction() открытый метод
Этот метод вызывается непосредственно перед выполнением действия (после всех возможных фильтров). Он проверяет наличие $migrationPath.
| открытый boolean beforeAction ( $action ) | ||
|---|---|---|
| $action | yii\base\Action |
Действие, которое будет выполнено. |
| return | boolean |
Выполнять ли действие дальше. |
| throws | yii\console\Exception |
если компонент db не настроен |
createMigration() защищённый метод
Создаёт новый экземпляр миграции.
| защищённый yii\mongodb\Migration createMigration ( $class ) | ||
|---|---|---|
| $class | string |
Имя класса миграции |
| return | yii\mongodb\Migration |
Экземпляр миграции |
ensureBaseMigrationHistory() защищённый метод
Обеспечивает, что в истории миграций есть хотя бы запись базовой миграции.
| защищённый void ensureBaseMigrationHistory ( ) |
|---|
getMigrationHistory() защищённый метод
Возвращает историю миграций.
| защищённый array getMigrationHistory ( $limit ) | ||
|---|---|---|
| $limit | integer |
Максимальное количество записей в истории, которое должно быть возвращено. |
| return | array |
История миграций |
options() открытый метод
Возвращает имена допустимых параметров для действия (id). Параметр требует существования открытой переменной-члена, имя которой соответствует имени параметра.
Подклассы могут переопределить этот метод, чтобы указать возможные параметры.
Обратите внимание, что значения, установленные с помощью параметров, недоступны до тех пор, пока не будет вызван метод beforeAction().
| открытый string[] options ( $actionID ) | ||
|---|---|---|
| $actionID | string |
Идентификатор действия текущего запроса |
| return | string[] |
Имена параметров, допустимых для действия |
removeMigrationHistory() защищённый метод
Удаляет существующую миграцию из истории.
| защищённый void removeMigrationHistory ( $version ) | ||
|---|---|---|
| $version | string |
Название версии миграции. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-mongodb-console-controllers-migratecontroller.html