Class yii\mongodb\console\controllers\MigrateController

Inheritanceyii\mongodb\console\controllers\MigrateController » yii\console\controllers\BaseMigrateController
Available since version2.0

Manages application MongoDB migrations.

This is an analog of \yii\console\controllers\MigrateController for MongoDB.

This command provides support for tracking the migration history, upgrading or downloading with migrations, and creating new migration skeletons.

The migration history is stored in a MongoDB collection named as $migrationCollection. This collection will be automatically created the first time this command is executed, if it does not exist.

In order to enable this command you should adjust the configuration of your console application:

return [
    // ...
    'controllerMap' => [
        'mongodb-migrate' => 'yii\mongodb\console\controllers\MigrateController'
    ],
];

Below are some common usages of this command:

# 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

Since 2.1.2, in case of usage Yii version >= 2.0.10, you can use namespaced migrations. In order to enable this feature you should configure \yii\mongodb\console\controllers\migrationNamespaces property for the controller at application configuration:

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
        ],
    ],
];

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$db yii\mongodb\Connection|string The DB connection object or the application component ID of the DB connection. yii\mongodb\console\controllers\MigrateController
$migrationCollection string|array The name of the collection for keeping applied migration information. yii\mongodb\console\controllers\MigrateController
$templateFile yii\mongodb\console\controllers\MigrateController

Public Methods

Hide inherited methods

MethodDescriptionDefined By
beforeAction() This method is invoked right before an action is to be executed (after all possible filters.) It checks the existence of the \yii\mongodb\console\controllers\migrationPath. yii\mongodb\console\controllers\MigrateController
options() yii\mongodb\console\controllers\MigrateController

Property Details

$db public property

The DB connection object or the application component ID of the DB connection.

public yii\mongodb\Connection|string $db 'mongodb'
$migrationCollection public property

The name of the collection for keeping applied migration information.

public string|array $migrationCollection 'migration'
$templateFile public property
public $templateFile '@yii/mongodb/views/migration.php'

Method Details

addMigrationHistory() protected method

protected void addMigrationHistory ( $version )
$version
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 \yii\mongodb\console\controllers\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 db component isn't configured

createMigration() protected method

Creates a new migration instance.

protected yii\mongodb\Migration createMigration ( $class )
$class string

The migration class name

return yii\mongodb\Migration

The migration instance

ensureBaseMigrationHistory() protected method

Ensures migration history contains at least base migration entry.

protected void ensureBaseMigrationHistory ( )
getMigrationHistory() protected method

protected void getMigrationHistory ( $limit )
$limit
options() public method

public void options ( $actionID )
$actionID
removeMigrationHistory() protected method

protected void removeMigrationHistory ( $version )
$version
truncateDatabase() protected method (available since version 2.1.5)

protected void truncateDatabase ( )