Class craft\console\controllers\MigrateController
- Inheritance
- craft\console\controllers\MigrateController » yii\console\controllers\BaseMigrateController » yii\console\Controller » yii\base\Controller » yii\base\Component » yii\base\BaseObject
- Implements
- yii\base\Configurable, yii\base\ViewContextInterface
- Available since version
- 3.0
- Source Code
- https://github.com/craftcms/cms/blob/master/src/console/controllers/MigrateController.php
Manages Craft and plugin migrations.
A migration means a set of persistent changes to the application environment that is shared among different
developers. For example, in an application backed by a database, a migration may refer to a set of changes to
the database, such as creating a new table, adding a new table column.
This controller provides support for tracking the migration history, updating migrations, and creating new
migration skeleton files.
The migration history is stored in a database table named migrations
. The table will be automatically
created the first time this controller is executed, if it does not exist.
Below are some common usages of this command:
~~~
creates a new migration named 'create_user_table' for a plugin with the handle pluginHandle. ¶
craft migrate/create create_user_table --plugin=pluginHandle
applies ALL new migrations for a plugin with the handle pluginHandle ¶
craft migrate up --plugin=pluginHandle ~~~
Property | Type | Description | Defined By |
---|---|---|---|
$action |
yii\base\Action | The action that is currently being executed. | yii\base\Controller |
$color |
boolean | Whether to enable ANSI color in the output. | yii\console\Controller |
$compact |
boolean | Indicates whether the console output should be compacted. | yii\console\controllers\BaseMigrateController |
$defaultAction |
string | The ID of the action that is used when the action ID is not specified in the request. | yii\base\Controller |
$help |
boolean | Whether to display help information about current command. | yii\console\Controller |
$id |
string | The ID of this controller. | yii\base\Controller |
$interactive |
boolean | Whether to run the command interactively. | yii\console\Controller |
$layout |
null, string, false | The name of the layout to be applied to this controller's views. | yii\base\Controller |
$migrationNamespaces |
array | List of namespaces containing the migration classes. | yii\console\controllers\BaseMigrateController |
$migrationPath |
string, array | The directory containing the migration classes. | yii\console\controllers\BaseMigrateController |
$module |
yii\base\Module | The module that this controller belongs to. | yii\base\Controller |
$plugin |
string, craft\base\Plugin, null | The handle of the plugin to use during migration operations, or the plugin itself | craft\console\controllers\MigrateController |
$templateFile |
string | The template file for generating new migrations. | yii\console\controllers\BaseMigrateController |
$type |
string, null | The type of migrations we're dealing with here. | craft\console\controllers\MigrateController |
Method | Description | Defined By |
---|---|---|
__call() |
Calls the named method which is not a class method. | yii\base\BaseObject |
__clone() |
This method is called after the object is created by cloning an existing one. | yii\base\Component |
__construct() |
Constructor. | yii\base\BaseObject |
__get() |
Returns the value of an object property. | yii\base\BaseObject |
__isset() |
Checks if a property is set, i.e. defined and not null. | yii\base\BaseObject |
__set() |
Sets value of an object property. | yii\base\BaseObject |
__unset() |
Sets an object property to null. | yii\base\BaseObject |
actionAll() |
Runs all pending Craft, plugin, and content migrations. | craft\console\controllers\MigrateController |
actionCreate() |
Creates a new migration. | craft\console\controllers\MigrateController |
actionDown() |
Downgrades the application by reverting old migrations. | yii\console\controllers\BaseMigrateController |
actionFresh() |
Truncates the whole database and starts the migration from the beginning. | yii\console\controllers\BaseMigrateController |
actionHistory() |
Displays the migration history. | yii\console\controllers\BaseMigrateController |
actionMark() |
Modifies the migration history to the specified version. | yii\console\controllers\BaseMigrateController |
actionNew() |
Displays the un-applied new migrations. | yii\console\controllers\BaseMigrateController |
actionRedo() |
Redoes the last few migrations. | yii\console\controllers\BaseMigrateController |
actionTo() |
Upgrades or downgrades till the specified version. | yii\console\controllers\BaseMigrateController |
actionUp() |
Upgrades the application by applying new migrations. | craft\console\controllers\MigrateController |
actions() |
Declares external actions for the controller. | yii\base\Controller |
afterAction() |
This method is invoked right after an action is executed. | yii\base\Controller |
ansiFormat() |
Formats a string with ANSI codes. | yii\console\Controller |
attachBehavior() |
Attaches a behavior to this component. | yii\base\Component |
attachBehaviors() |
Attaches a list of behaviors to the component. | yii\base\Component |
beforeAction() |
This method is invoked right before an action is to be executed (after all possible filters.) It checks the existence of the $migrationPath. | craft\console\controllers\MigrateController |
behaviors() |
Returns a list of behaviors that this component should behave as. | yii\base\Component |
bindActionParams() |
Binds the parameters to the action. | yii\base\Controller |
canGetProperty() |
Returns a value indicating whether a property can be read. | yii\base\BaseObject |
canSetProperty() |
Returns a value indicating whether a property can be set. | yii\base\BaseObject |
className() |
Returns the fully qualified name of this class. | yii\base\BaseObject |
confirm() |
Asks user to confirm by typing y or n. | yii\console\Controller |
createAction() |
Creates an action based on the given action ID. | yii\base\Controller |
detachBehavior() |
Detaches a behavior from the component. | yii\base\Component |
detachBehaviors() |
Detaches all behaviors from the component. | yii\base\Component |
ensureBehaviors() |
Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component |
findLayoutFile() |
Finds the applicable layout file. | yii\base\Controller |
getActionArgsHelp() |
Returns the help information for the anonymous arguments for the action. | yii\console\Controller |
getActionHelp() |
Returns the detailed help information for the specified action. | yii\console\Controller |
getActionHelpSummary() |
Returns a one-line short summary describing the specified action. | yii\console\Controller |
getActionOptionsHelp() |
Returns the help information for the options for the action. | yii\console\Controller |
getBehavior() |
Returns the named behavior object. | yii\base\Component |
getBehaviors() |
Returns all behaviors attached to this component. | yii\base\Component |
getHelp() |
Returns help information for this controller. | yii\console\Controller |
getHelpSummary() |
Returns one-line short summary describing this controller. | yii\console\Controller |
getModules() |
Returns all ancestor modules of this controller. | yii\base\Controller |
getOptionValues() |
Returns properties corresponding to the options for the action id Child classes may override this method to specify possible properties. | yii\console\Controller |
getPassedOptionValues() |
Returns the properties corresponding to the passed options. | yii\console\Controller |
getPassedOptions() |
Returns the names of valid options passed during execution. | yii\console\Controller |
getRoute() |
Returns the route of the current request. | yii\base\Controller |
getUniqueId() |
Returns the unique ID of the controller. | yii\base\Controller |
getView() |
Returns the view object that can be used to render views or view files. | yii\base\Controller |
getViewPath() |
Returns the directory containing view files for this controller. | yii\base\Controller |
hasEventHandlers() |
Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component |
hasMethod() |
Returns a value indicating whether a method is defined. | yii\base\BaseObject |
hasProperty() |
Returns a value indicating whether a property is defined. | yii\base\BaseObject |
init() |
Initializes the object. | craft\console\controllers\MigrateController |
isColorEnabled() |
Returns a value indicating whether ANSI color is enabled. | yii\console\Controller |
off() |
Detaches an existing event handler from this component. | yii\base\Component |
on() |
Attaches an event handler to an event. | yii\base\Component |
optionAliases() |
Returns option alias names. | craft\console\controllers\MigrateController |
options() |
{@inheritdoc} | craft\console\controllers\MigrateController |
prompt() |
Prompts the user for input and validates it. | yii\console\Controller |
render() |
Renders a view and applies layout if available. | yii\base\Controller |
renderContent() |
Renders a static string by applying a layout. | yii\base\Controller |
renderFile() |
Renders a view file. | yii\base\Controller |
renderPartial() |
Renders a view without applying layout. | yii\base\Controller |
run() |
Runs a request specified in terms of a route. | yii\base\Controller |
runAction() |
Runs an action within this controller with the specified action ID and parameters. | yii\base\Controller |
select() |
Gives the user an option to choose from. Giving '?' as an input will show a list of options to choose from and their explanations. | yii\console\Controller |
setView() |
Sets the view object to be used by this controller. | yii\base\Controller |
setViewPath() |
Sets the directory that contains the view files. | yii\base\Controller |
stderr() |
Prints a string to STDERR. | yii\console\Controller |
stdout() |
Prints a string to STDOUT. | yii\console\Controller |
trigger() |
Triggers an event. | yii\base\Component |
Event | Type | Description | Defined By |
---|---|---|---|
EVENT_AFTER_ACTION |
yii\base\ActionEvent | An event raised right after executing a controller action. | yii\base\Controller |
EVENT_BEFORE_ACTION |
yii\base\ActionEvent | An event raised right before executing a controller action. | yii\base\Controller |
Constant | Value | Description | Defined By |
---|---|---|---|
BASE_MIGRATION |
'm000000_000000_base' | The name of the dummy migration that marks the beginning of the whole migration history. | yii\console\controllers\BaseMigrateController |
EXIT_CODE_ERROR |
1 | Deprecated since 2.0.13. Use yii\console\ExitCode::UNSPECIFIED_ERROR instead. | yii\console\Controller |
EXIT_CODE_NORMAL |
0 | Deprecated since 2.0.13. Use yii\console\ExitCode::OK instead. | yii\console\Controller |
Property Details
$plugin
public property
#
The handle of the plugin to use during migration operations, or the plugin itself
public string, craft\base\Plugin, null $plugin = null
$type
public property
#
The type of migrations we're dealing with here. Can be 'app', 'plugin', or 'content'. If --plugin is passed, this will automatically be set to 'plugin'. Otherwise defaults to 'content'.
public string, null $type = \craft\db\MigrationManager::TYPE_CONTENT
Method Details
actionAll()
public method
#
Runs all pending Craft, plugin, and content migrations.
public integer actionAll ( )
throws | craft\errors\MigrateException |
---|
actionCreate()
public method
#
Creates a new migration.
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.
craft migrate/create create_news_section
By default the migration will be created within the project's migrations/
folder (as a "content migration").
Use --plugin=<plugin-handle>
to create a new plugin migration.
Use --type=app
to create a new Craft CMS app migration.
public void actionCreate ( $name )
$name |
string | The name of the new migration. This should only contain letters, digits, and underscores. |
throws | yii\console\Exception | if the name argument is invalid. |
---|
actionUp()
public method
#
Upgrades the application by applying new migrations.
For example,
yii migrate # apply all new migrations
yii migrate 3 # apply the first 3 new migrations
public integer actionUp ( $limit = 0 )
$limit |
integer | The number of new migrations to be applied. If 0, it means applying all available new migrations. |
return | integer | The status of the action execution. 0 means normal, other values mean abnormal. |
---|
addMigrationHistory()
protected method
#
Adds new migration entry to the history.
protected void addMigrationHistory ( $version )
$version |
string | Migration version name. |
beforeAction()
public method
#
This method is invoked right before an action is to be executed (after all possible filters.) It checks the existence of the $migrationPath.
public boolean beforeAction ( $action )
$action |
yii\base\Action | The action to be executed. |
return | boolean | Whether the action should continue to be executed. |
---|---|---|
throws | yii\console\Exception | if the 'plugin' option isn't valid |
createMigration()
protected method
#
Creates a new migration instance.
protected yii\db\MigrationInterface createMigration ( $class )
$class |
string | The migration class name |
return | yii\db\MigrationInterface | The migration instance |
---|
getMigrationHistory()
protected method
#
Returns the migration history.
protected array getMigrationHistory ( $limit )
$limit |
integer | The maximum number of records in the history to be returned. null for "no limit".
|
return | array | The migration history |
---|
getMigrator()
protected method
#
Returns the migration manager that should be used for this request
protected craft\db\MigrationManager getMigrator ( )
getNewMigrations()
protected method
#
Returns the migrations that are not applied.
protected array getNewMigrations ( )
return | array | List of new migrations |
---|
init()
public method
#
Initializes the object.
This method is invoked at the end of the constructor after the object is initialized with the given configuration.
public void init ( )
optionAliases()
public method
#
Returns option alias names.
Child classes may override this method to specify alias options.
public array optionAliases ( )
return | array | The options alias names valid for the action where the keys is alias name for option and value is option name. |
---|
options()
public method
#
{@inheritdoc}
public void options ( $actionID )
$actionID |
removeMigrationHistory()
protected method
#
Removes existing migration from the history.
protected void removeMigrationHistory ( $version )
$version |
string | Migration version name. |