Абстрактный класс yii\console\controllers\BaseMigrateController
BaseMigrateController — базовый класс для контроллеров миграций.
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $action | yii\base\Action | Действие, которое в данный момент выполняется. | yii\base\Controller |
| $behaviors | yii\base\Behavior[] | Список поведений, прикрепленных к данному компоненту | yii\base\Component |
| $color | boolean | Включить вывод ANSI-цветов. | yii\console\Controller |
| $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 |
| $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 | Маршрут (ID модуля, ID контроллера и ID действия) текущего запроса. | yii\base\Controller |
| $templateFile | string | Шаблон для генерации новых миграций. | yii\console\controllers\BaseMigrateController |
| $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\console\controllers\BaseMigrateController |
| 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\console\controllers\BaseMigrateController |
| 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 |
Protected Methods
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| 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 |
Подробное описание свойств
$defaultAction общедоступное свойство
Действие по умолчанию для команды.
public string $defaultAction = 'up'
$migrationNamespaces общедоступное свойство (доступно начиная с версии 2.0.10)
Список пространств имён, содержащих классы миграций.
Пространства имён миграций должны быть разрешимы как псевдоним пути, если они начинаются с @, например, если вы укажете пространство имён app\migrations, код Yii::getAlias('@app/migrations') должен иметь возможность вернуть путь к файлу каталога, на который ссылается это пространство имён. Это соответствует соглашениям автозагрузки Yii.
Например:
[
'app\migrations',
'some\extension\migrations',
]
См. также $migrationPath.
public array $migrationNamespaces = []
$migrationPath общедоступное свойство
Каталог, содержащий классы миграций. Это может быть либо псевдоним пути, либо путь к каталогу.
Классы миграций, расположенные в этом каталоге, должны объявляться без пространства имён. Используйте свойство $migrationNamespaces в случае использования миграций с пространствами имён.
Если вы задали $migrationNamespaces, вы можете установить это поле в null для отключения использования миграций, которые не имеют пространств имён.
Начиная с версии 2.0.12, вы также можете указать массив путей к миграциям, которые должны быть проверены при поиске миграций. Это в основном полезно для поддержки старых расширений, которые предоставляют миграции без пространства имён, и для адаптации к новой функции миграций с пространствами имён, сохраняя при этом существующие миграции.
В общем случае для загрузки миграций из разных мест $migrationNamespaces является предпочтительным решением, так как имя миграции содержит источник миграции в истории, чего нельзя сказать при использовании нескольких путей миграций.
См. также $migrationNamespaces.
public string|array $migrationPath = ['@app/migrations']
$templateFile общедоступное свойство
Шаблонный файл для генерации новых миграций. Это может быть либо псевдоним пути (например, "@app/migrations/template.php"), либо путь к файлу.
public string $templateFile = null
Подробное описание методов
actionCreate() public method
Создаёт новую миграцию.
Эта команда создаёт новую миграцию, используя доступный шаблон миграции. После использования этой команды разработчики должны изменить созданный каркас миграции, заполнив фактическую логику миграции.
yii migrate/create create_user_table
Для генерации миграции с пространством имён, вы должны указать пространство имён перед именем миграции. Обратите внимание, что обратная косая черта (\) обычно считается специальным символом в оболочке, поэтому вам необходимо правильно экранировать её, чтобы избежать ошибок оболочки или неправильного поведения. Например:
yii migrate/create 'app\\migrations\\createUserTable'
В случае, если $migrationPath не задан и пространство имён не предоставлено, будет использоваться первая запись из $migrationNamespaces.
| public void actionCreate ( $name ) | ||
|---|---|---|
| $name | string |
Имя новой миграции. Оно должно содержать только буквы, цифры, символы подчеркивания и/или обратные косые черты. Примечание: если имя миграции имеет специальный формат, например create_xxx или drop_xxx, то сгенерированный файл миграции будет содержать дополнительный код, в этом случае для создания/удаления таблиц. |
| throws | yii\console\Exception |
если аргумент name некорректен. |
actionDown() public method
Откатывает приложение, откатывая старые миграции.
Например,
yii migrate/down # revert the last migration yii migrate/down 3 # revert the last 3 migrations yii migrate/down all # revert all migrations
| public integer actionDown ( $limit = 1 ) | ||
|---|---|---|
| $limit | integer|string |
Количество миграций для отката. По умолчанию 1, что означает откат последней применённой миграции. При значении "all", все миграции будут откатаны. |
| return | integer |
Статус выполнения действия. 0 означает нормальное выполнение, другие значения означают аномалии. |
| throws | yii\console\Exception |
если указанное число шагов меньше 1. |
actionHistory() public method
Отображает историю миграций.
Эта команда покажет список миграций, которые были применены до сих пор. Например,
yii migrate/history # showing the last 10 migrations yii migrate/history 5 # showing the last 5 migrations yii migrate/history all # showing the whole history
| public void actionHistory ( $limit = 10 ) | ||
|---|---|---|
| $limit | integer|string |
Максимальное количество отображаемых миграций. Если значение "all", будет отображена вся история миграций. |
| throws | yii\console\Exception |
если передано некорректное значение limit. |
actionMark() public method
Изменяет историю миграций до указанной версии.
Реальных миграций не будет выполнено.
yii migrate/mark 101129_185401 # using timestamp yii migrate/mark m101129_185401_create_user_table # using full name yii migrate/to app\migrations\M101129185401CreateUser # using full namespace name
| public integer actionMark ( $version ) | ||
|---|---|---|
| $version | string |
Версия, до которой должна быть помечена история миграций. Это может быть либо метка времени, либо полное имя миграции. |
| return | integer |
Код выхода в консоли |
| throws | yii\console\Exception |
если аргумент version некорректен или версия не найдена. |
actionNew() public method
Отображает не применённые новые миграции.
Эта команда покажет новые миграции, которые ещё не были применены. Например,
yii migrate/new # showing the first 10 new migrations yii migrate/new 5 # showing the first 5 new migrations yii migrate/new all # showing all new migrations
| public void actionNew ( $limit = 10 ) | ||
|---|---|---|
| $limit | integer|string |
Максимальное количество новых миграций для отображения. Если это |
| throws | yii\console\Exception |
если передано некорректное значение limit. |
actionRedo() public method
Повторяет последние несколько миграций.
Эта команда сначала откатит указанные миграции, а затем применит их снова. Например,
yii migrate/redo # redo the last applied migration yii migrate/redo 3 # redo the last 3 applied migrations yii migrate/redo all # redo all migrations
| public integer actionRedo ( $limit = 1 ) | ||
|---|---|---|
| $limit | integer|string |
Количество миграций для повторного применения. По умолчанию 1, что означает повторное применение последней применённой миграции. При значении "all", все миграции будут повторены. |
| return | integer |
Статус выполнения действия. 0 означает нормальное выполнение, другие значения означают аномалии. |
| throws | yii\console\Exception |
если указанное число шагов меньше 1. |
actionTo() public method
Обновляет или откатывает до указанной версии.
Также может отменить версии до определённого момента в прошлом, указав метку времени UNIX или строку, распознаваемую функцией strtotime(). Это означает, что все версии, применённые после указанного момента времени, будут отменены.
Эта команда сначала откатит указанные миграции, а затем применит их снова. Например,
yii migrate/to 101129_185401 # using timestamp yii migrate/to m101129_185401_create_user_table # using full name yii migrate/to 1392853618 # using UNIX timestamp yii migrate/to "2014-02-15 13:00:50" # using strtotime() parseable string yii migrate/to app\migrations\M101129185401CreateUser # using full namespace name
| public void actionTo ( $version ) | ||
|---|---|---|
| $version | string |
Имя версии или значение времени в прошлом, до которого должно быть обновлено приложение. Это может быть метка времени, полное имя миграции, метка времени UNIX или распознаваемая строка даты и времени. |
| throws | yii\console\Exception |
если аргумент version некорректен. |
actionUp() public method
Обновляет приложение, применяя новые миграции.
Например,
yii migrate # apply all new migrations yii migrate 3 # apply the first 3 new migrations
| public integer actionUp ( $limit = 0 ) | ||
|---|---|---|
| $limit | integer |
Количество новых миграций для применения. Если 0, это означает применение всех доступных новых миграций. |
| return | integer |
Статус выполнения действия. 0 означает нормальное выполнение, другие значения означают аномалии. |
addMigrationHistory() protected abstract method
Добавляет новую запись миграции в историю.
| protected abstract void addMigrationHistory ( $version ) | ||
|---|---|---|
| $version | string |
Имя версии миграции. |
beforeAction() public method
Этот метод вызывается непосредственно перед выполнением действия (после всех возможных фильтров). Он проверяет существование $migrationPath.
| public boolean beforeAction ( $action ) | ||
|---|---|---|
| $action | yii\base\Action |
Действие, которое должно быть выполнено. |
| return | boolean |
Выполняется ли действие. |
| throws | yii\base\InvalidConfigException |
если указанная в migrationPath директория не существует и действие не "create". |
createMigration() protected method
Создаёт новый экземпляр миграции.
| protected yii\db\MigrationInterface createMigration ( $class ) | ||
|---|---|---|
| $class | string |
Имя класса миграции |
| return | yii\db\MigrationInterface |
Экземпляр миграции |
generateMigrationSourceCode() protected method (available since version 2.0.8)
Генерирует новый PHP-код миграции.
Дочерний класс может переопределить этот метод, добавив дополнительную логику или изменения в процесс.
| protected string generateMigrationSourceCode ( $params ) | ||
|---|---|---|
| $params | array |
Параметры генерации, обычно присутствуют следующие:
|
| return | string |
Сгенерированный PHP-код. |
getMigrationHistory() protected abstract method
Возвращает историю миграций.
| protected abstract array getMigrationHistory ( $limit ) | ||
|---|---|---|
| $limit | integer |
Максимальное количество записей в истории, которые нужно вернуть. |
| return | array |
История миграций |
getNewMigrations() protected method
Возвращает миграции, которые не были применены.
| protected array getNewMigrations ( ) | ||
|---|---|---|
| return | array |
Список новых миграций |
includeMigrationFile() protected method (доступно начиная с версии 2.0.12)
Включает файл миграции для данного имени класса миграции.
Эта функция ничего не сделает для миграций с именованными пространствами, которые загружаются автоматически загрузчиком. Она включит файл миграции, выполнив поиск в $migrationPath для классов без пространства имён.
| protected void includeMigrationFile ( $class ) | ||
|---|---|---|
| $class | string |
Имя класса миграции. |
migrateDown() protected method
Выполняет откат миграций с указанным классом миграции.
| protected boolean migrateDown ( $class ) | ||
|---|---|---|
| $class | string |
Имя класса миграции |
| return | boolean |
Успешно ли выполнена миграция |
migrateToTime() protected method
Переносит миграции до указанного времени в прошлом.
| protected void migrateToTime ( $time ) | ||
|---|---|---|
| $time | integer |
Значение временной метки Unix. |
migrateToVersion() protected method
Переносит миграции до определённой версии.
| protected integer migrateToVersion ( $version ) | ||
|---|---|---|
| $version | string |
Имя в полном формате. |
| return | integer |
Код выхода CLI |
| throws | yii\console\Exception |
если указанная версия не найдена. |
migrateUp() protected method
Применяет миграции с указанным классом миграции.
| protected boolean migrateUp ( $class ) | ||
|---|---|---|
| $class | string |
Имя класса миграции |
| return | boolean |
Успешно ли выполнена миграция |
options() public method
Возвращает имена допустимых опций для действия (id). Опция требует наличия открытого члена переменной с именем, совпадающим с именем опции.
Подклассы могут переопределить этот метод для указания возможных опций.
Обратите внимание, что значения, установленные через опции, недоступны до вызова beforeAction().
| public string[] options ( $actionID ) | ||
|---|---|---|
| $actionID | string |
Идентификатор действия текущего запроса |
| return | string[] |
Имена опций, допустимых для действия |
removeMigrationHistory() protected abstract method
Удаляет существующую миграцию из истории.
| protected abstract 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-console-controllers-basemigratecontroller.html