Spec-Zone.ru › Yii 2.0

Абстрактный класс yii\console\controllers\BaseMigrateController

Все классы | Свойства | Методы | События | Константы
Наследование yii\console\controllers\BaseMigrateController » yii\console\Controller » yii\base\Controller » yii\base\Component » yii\base\Object
Реализует yii\base\Configurable, yii\base\ViewContextInterface
Подклассы yii\console\controllers\MigrateController, yii\mongodb\console\controllers\MigrateController
Доступен с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/console/controllers/BaseMigrateController.php

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

Method Description Defined By
addMigrationHistory() Добавляет новую запись миграции в историю. yii\console\controllers\BaseMigrateController
createMigration() Создаёт новый экземпляр миграции. yii\console\controllers\BaseMigrateController
generateMigrationSourceCode() Генерирует новый PHP-код источника миграции. yii\console\controllers\BaseMigrateController
getActionMethodReflection() yii\console\Controller
getMigrationHistory() Возвращает историю миграций. yii\console\controllers\BaseMigrateController
getNewMigrations() Возвращает миграции, которые не применены. yii\console\controllers\BaseMigrateController
includeMigrationFile() Включает файл миграции для данного имени класса миграции. yii\console\controllers\BaseMigrateController
migrateDown() Выполняет откат с указанным классом миграции. yii\console\controllers\BaseMigrateController
migrateToTime() Выполняет миграцию до указанного времени в прошлом. yii\console\controllers\BaseMigrateController
migrateToVersion() Выполняет миграцию до определённой версии. yii\console\controllers\BaseMigrateController
migrateUp() Выполняет обновление с указанным классом миграции. yii\console\controllers\BaseMigrateController
parseDocCommentDetail() Возвращает полное описание из блоков документации. yii\console\Controller
parseDocCommentSummary() Возвращает первую строку блока документации. yii\console\Controller
parseDocCommentTags() Парсит блок комментариев на метки. yii\console\Controller
removeMigrationHistory() Удаляет существующую миграцию из истории. yii\console\controllers\BaseMigrateController

События

Событие Тип Описание Определено в
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

Максимальное количество новых миграций для отображения. Если это all, будут отображены все доступные новые миграции.

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

Параметры генерации, обычно присутствуют следующие:

  • name: строка базового имени миграции
  • className: строка имени класса миграции
return string

Сгенерированный PHP-код.

getMigrationHistory() protected abstract method

Возвращает историю миграций.

protected abstract array getMigrationHistory ( $limit )
$limit integer

Максимальное количество записей в истории, которые нужно вернуть. null для "без ограничения".

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API