PHP Класс yii\console\controllers\BaseMigrateController

С версии: 2.0
Автор: Qiang Xue ([email protected])
Наследование: extends yii\console\Controller
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
$defaultAction the default command action.
$migrationNamespaces list of namespaces containing the migration classes. Migration namespaces should be resolvable as a path alias if prefixed with @, e.g. if you specify the namespace app\migrations, the code Yii::getAlias('@app/migrations') should be able to return the file path to the directory this namespace refers to. For example: php [ 'app\migrations', 'some\extension\migrations', ]
$migrationPath the directory containing the migration classes. This can be either a path alias or a directory path. If you have set up [[migrationNamespaces]], you may set this field to null in order to disable usage of migrations that are not namespaced.
$templateFile the template file for generating new migrations. This can be either a path alias (e.g. "@app/migrations/template.php") or a file path.

Открытые методы

Метод Описание
actionCreate ( string $name ) Creates a new migration.
actionDown ( integer $limit = 1 ) : integer Downgrades the application by reverting old migrations.
actionHistory ( integer $limit = 10 ) Displays the migration history.
actionMark ( string $version ) : integer Modifies the migration history to the specified version.
actionNew ( integer $limit = 10 ) Displays the un-applied new migrations.
actionRedo ( integer $limit = 1 ) : integer Redoes the last few migrations.
actionTo ( string $version ) Upgrades or downgrades till the specified version.
actionUp ( integer $limit ) : integer Upgrades the application by applying new migrations.
beforeAction ( Action $action ) : boolean This method is invoked right before an action is to be executed (after all possible filters.) It checks the existence of the [[migrationPath]].
options ( $actionID )

Защищенные методы

Метод Описание
addMigrationHistory ( string $version ) Adds new migration entry to the history.
createMigration ( string $class ) : yii\db\MigrationInterface Creates a new migration instance.
generateMigrationSourceCode ( array $params ) : string Generates new migration source PHP code.
getMigrationHistory ( integer $limit ) : array Returns the migration history.
getNewMigrations ( ) : array Returns the migrations that are not applied.
migrateDown ( string $class ) : boolean Downgrades with the specified migration class.
migrateToTime ( integer $time ) Migrates to the specified apply time in the past.
migrateToVersion ( string $version ) : integer Migrates to the certain version.
migrateUp ( string $class ) : boolean Upgrades with the specified migration class.
removeMigrationHistory ( string $version ) Removes existing migration from the history.

Приватные методы

Метод Описание
extractMigrationVersion ( string $rawVersion ) : string | false Checks if given migration version specification matches migration base name.
extractNamespaceMigrationVersion ( string $rawVersion ) : string | false Checks if given migration version specification matches namespaced migration name.
findMigrationPath ( string | null $namespace ) : string Finds the file path for the specified migration namespace.
generateClassName ( string $name ) : array Generates class base name and namespace from migration name from user input.
getNamespacePath ( string $namespace ) : string Returns the file path matching the give namespace.

Описание методов

actionCreate() публичный Метод

This command creates a new migration using the available migration template. After using this command, developers should modify the created migration skeleton by filling up the actual migration logic. yii migrate/create create_user_table In order to generate a namespaced migration, you should specify a namespace before the migration's name. Note that backslash (\) is usually considered a special character in the shell, so you need to escape it properly to avoid shell errors or incorrect behavior. For example: yii migrate/create 'app\\migrations\\createUserTable' In case [[migrationPath]] is not set and no namespace is provided, the first entry of [[migrationNamespaces]] will be used.
public actionCreate ( string $name )
$name string the name of the new migration. This should only contain letters, digits, underscores and/or backslashes. Note: If the migration name is of a special form, for example create_xxx or drop_xxx, then the generated migration file will contain extra code, in this case for creating/dropping tables.

actionDown() публичный Метод

For example, yii migrate/down # revert the last migration yii migrate/down 3 # revert the last 3 migrations yii migrate/down all # revert all migrations
public actionDown ( integer $limit = 1 ) : integer
$limit integer the number of migrations to be reverted. Defaults to 1, meaning the last applied migration will be reverted.
Результат integer the status of the action execution. 0 means normal, other values mean abnormal.

actionHistory() публичный Метод

This command will show the list of migrations that have been applied so far. For example, 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 actionHistory ( integer $limit = 10 )
$limit integer the maximum number of migrations to be displayed. If it is "all", the whole migration history will be displayed.

actionMark() публичный Метод

No actual migration will be performed. 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 actionMark ( string $version ) : integer
$version string the version at which the migration history should be marked. This can be either the timestamp or the full name of the migration.
Результат integer CLI exit code

actionNew() публичный Метод

This command will show the new migrations that have not been applied. For example, 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 actionNew ( integer $limit = 10 )
$limit integer the maximum number of new migrations to be displayed. If it is `all`, all available new migrations will be displayed.

actionRedo() публичный Метод

This command will first revert the specified migrations, and then apply them again. For example, 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 actionRedo ( integer $limit = 1 ) : integer
$limit integer the number of migrations to be redone. Defaults to 1, meaning the last applied migration will be redone.
Результат integer the status of the action execution. 0 means normal, other values mean abnormal.

actionTo() публичный Метод

Can also downgrade versions to the certain apply time in the past by providing a UNIX timestamp or a string parseable by the strtotime() function. This means that all the versions applied after the specified certain time would be reverted. This command will first revert the specified migrations, and then apply them again. For example, 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 actionTo ( string $version )
$version string either the version name or the certain time value in the past that the application should be migrated to. This can be either the timestamp, the full name of the migration, the UNIX timestamp, or the parseable datetime string.

actionUp() публичный Метод

For example, yii migrate # apply all new migrations yii migrate 3 # apply the first 3 new migrations
public actionUp ( integer $limit ) : integer
$limit integer the number of new migrations to be applied. If 0, it means applying all available new migrations.
Результат integer the status of the action execution. 0 means normal, other values mean abnormal.

addMigrationHistory() абстрактный защищенный Метод

Adds new migration entry to the history.
abstract protected addMigrationHistory ( string $version )
$version string migration version name.

beforeAction() публичный Метод

This method is invoked right before an action is to be executed (after all possible filters.) It checks the existence of the [[migrationPath]].
public beforeAction ( Action $action ) : boolean
$action yii\base\Action the action to be executed.
Результат boolean whether the action should continue to be executed.

createMigration() защищенный Метод

Creates a new migration instance.
protected createMigration ( string $class ) : yii\db\MigrationInterface
$class string the migration class name
Результат yii\db\MigrationInterface the migration instance

generateMigrationSourceCode() защищенный Метод

Child class may override this method, adding extra logic or variation to the process.
С версии: 2.0.8
protected generateMigrationSourceCode ( array $params ) : string
$params array generation parameters, usually following parameters are present: - name: string migration base name - className: string migration class name
Результат string generated PHP code.

getMigrationHistory() абстрактный защищенный Метод

Returns the migration history.
abstract protected getMigrationHistory ( integer $limit ) : array
$limit integer the maximum number of records in the history to be returned. `null` for "no limit".
Результат array the migration history

getNewMigrations() защищенный Метод

Returns the migrations that are not applied.
protected getNewMigrations ( ) : array
Результат array list of new migrations

migrateDown() защищенный Метод

Downgrades with the specified migration class.
protected migrateDown ( string $class ) : boolean
$class string the migration class name
Результат boolean whether the migration is successful

migrateToTime() защищенный Метод

Migrates to the specified apply time in the past.
protected migrateToTime ( integer $time )
$time integer UNIX timestamp value.

migrateToVersion() защищенный Метод

Migrates to the certain version.
protected migrateToVersion ( string $version ) : integer
$version string name in the full format.
Результат integer CLI exit code

migrateUp() защищенный Метод

Upgrades with the specified migration class.
protected migrateUp ( string $class ) : boolean
$class string the migration class name
Результат boolean whether the migration is successful

options() публичный Метод

public options ( $actionID )

removeMigrationHistory() абстрактный защищенный Метод

Removes existing migration from the history.
abstract protected removeMigrationHistory ( string $version )
$version string migration version name.

Описание свойств

$defaultAction публичное свойство

the default command action.
public $defaultAction

$migrationNamespaces публичное свойство

list of namespaces containing the migration classes. Migration namespaces should be resolvable as a path alias if prefixed with @, e.g. if you specify the namespace app\migrations, the code Yii::getAlias('@app/migrations') should be able to return the file path to the directory this namespace refers to. For example: php [ 'app\migrations', 'some\extension\migrations', ]
С версии: 2.0.10
public $migrationNamespaces

$migrationPath публичное свойство

the directory containing the migration classes. This can be either a path alias or a directory path. If you have set up [[migrationNamespaces]], you may set this field to null in order to disable usage of migrations that are not namespaced.
public $migrationPath

$templateFile публичное свойство

the template file for generating new migrations. This can be either a path alias (e.g. "@app/migrations/template.php") or a file path.
public $templateFile