没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

Abstract Class yii\console\controllers\BaseMigrateController

继承yii\console\controllers\BaseMigrateController » yii\console\Controller » yii\base\Controller » yii\base\Component » yii\base\BaseObject
实现yii\base\Configurable, yii\base\ViewContextInterface
子类yii\console\controllers\MigrateController
可用版本自2.0
源码 https://github.com/yiichina/yii2/blob/api/framework/console/controllers/BaseMigrateController.php

BaseMigrateController 是迁移控制器的基类。

公共属性

隐藏继承的属性

属性类型描述被定义在
$action yii\base\Action The action that is currently being executed. yii\base\Controller
$behaviors yii\base\Behavior[] List of behaviors attached to this component yii\base\Component
$color boolean 是否在输出中启用 ANSI 颜色。 如果未设置,则仅为支持 ANSI 颜色的终端启用 ANSI 颜色。 yii\console\Controller
$compact boolean 指示是否应该压缩控制台输出。 如果设置为 true,则迁移中运行的各个命令将不会输出到控制台。 默认为 false,换句话说输出是完全详细的。 yii\console\controllers\BaseMigrateController
$defaultAction string 默认的命令操作。 yii\console\controllers\BaseMigrateController
$help boolean 是否显示有关当前命令的帮助信息。 yii\console\Controller
$helpSummary string yii\console\Controller
$id string The ID of this controller. yii\base\Controller
$interactive boolean 是否以交互方式运行命令。 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 包含迁移类的命名空间列表。 如果前缀为 @ 迁移命名空间应该可解析为 path alias,例如如果你指定 命名空间 app\migrations,代码 Yii::getAlias('@app/migrations') 应该能够返回 此命名空间引用的目录的文件路径。 这与Yii的 autoloading conventions 相适应。 例如: `php [ 'app\migrations', 'some\extension\migrations', ] ` yii\console\controllers\BaseMigrateController
$migrationPath string|array 包含迁移类的目录。这可以是 一个 path alias 或一个目录路径。 位于此路径的迁移类应该在没有命名空间的情况下声明。 使用 $migrationNamespaces 属性以防你使用命名空间迁移。 如果你已经设置了 $migrationNamespaces,你可以按顺序将此字段设置为 null 禁用未命名空间的迁移的使用。 从版本 2. yii\console\controllers\BaseMigrateController
$module yii\base\Module The module that this controller belongs to. yii\base\Controller
$modules yii\base\Module[] All ancestor modules that this controller is located within. yii\base\Controller
$passedOptionValues array 与传递的选项对应的属性 yii\console\Controller
$passedOptions array 执行期间传递的选项的名称 yii\console\Controller
$route string The route (module ID, controller ID and action ID) of the current request. yii\base\Controller
$templateFile string 用于生成新迁移的模板文件。 这可以是一个 path alias(例如 "@app/migrations/template. yii\console\controllers\BaseMigrateController
$uniqueId string The controller ID that is prefixed with the module ID (if any). yii\base\Controller
$view yii\base\View|yii\web\View The view object that can be used to render views or view files. yii\base\Controller
$viewPath string 可以为相对视图名称添加前缀的视图路径。 yii\base\ViewContextInterface

公共方法

隐藏继承的方法

方法描述被定义在
__call() Calls the named method which is not a class method. yii\base\Component
__clone() This method is called after the object is created by cloning an existing one. yii\base\Component
__construct() yii\base\Controller
__get() Returns the value of a component property. yii\base\Component
__isset() Checks if a property is set, i.e. defined and not null. yii\base\Component
__set() Sets the value of a component property. yii\base\Component
__unset() Sets a component property to be null. yii\base\Component
actionCreate() 创建新的迁移。 yii\console\controllers\BaseMigrateController
actionDown() 通过恢复旧迁移来降级应用程序。 yii\console\controllers\BaseMigrateController
actionFresh() 截断整个数据库并从头开始迁移。 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() Declares external actions for the controller. yii\base\Controller
afterAction() This method is invoked right after an action is executed. yii\base\Controller
ansiFormat() 使用 ANSI 代码格式化字符串。 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() 在执行动作之前调用此方法(在所有可能的过滤器之后。) 它检查 $migrationPath 的存在。 yii\console\controllers\BaseMigrateController
behaviors() Returns a list of behaviors that this component should behave as. yii\base\Component
bindActionParams() 将参数绑定到动作。 当 yii\base\Action 开始使用给定的参数运行时,此方法被调用。 此方法首先将参数与操作可用的 options绑定。 然后验证给定的参数。 yii\console\Controller
canGetProperty() Returns a value indicating whether a property can be read. yii\base\Component
canSetProperty() Returns a value indicating whether a property can be set. yii\base\Component
className() Returns the fully qualified name of this class. yii\base\BaseObject
confirm() 要求用户通过键入 y 或 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() 返回动作的匿名参数的帮助信息。 yii\console\Controller
getActionHelp() 返回指定动作的详细帮助信息。 yii\console\Controller
getActionHelpSummary() 返回描述指定动作的一行简短摘要。 yii\console\Controller
getActionOptionsHelp() 返回动作选项的帮助信息。 yii\console\Controller
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getHelp() 返回此控制器的帮助信息。 yii\console\Controller
getHelpSummary() 返回描述此控制器的一行简短摘要。 yii\console\Controller
getModules() Returns all ancestor modules of this controller. yii\base\Controller
getOptionValues() 返回与动作 ID 的选项对应的属性 子类可以重写此方法以指定可能的属性。 yii\console\Controller
getPassedOptionValues() 返回与传递的选项对应的属性。 yii\console\Controller
getPassedOptions() 返回执行期间传递的有效选项的名称。 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() yii\base\ViewContextInterface
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\Component
hasProperty() Returns a value indicating whether a property is defined for this component. yii\base\Component
init() Initializes the object. yii\base\BaseObject
isColorEnabled() 返回一个指示是否启用 ANSI 颜色的值。 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() 返回选项别名。 子类可以重写此方法以指定别名选项。 yii\console\Controller
options() 返回操作的有效选项的动作(id) 选项要求存在一个名为选项名的 公共成员变量。 子类可以重写此方法以指定可能的选项。 yii\console\controllers\BaseMigrateController
prompt() 提示用户输入并验证它。 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() 使用指定的动作 ID 和参数运行动作。 如果动作 ID 为空,则该方法将使用 $defaultAction yii\console\Controller
select() 为用户提供可供选择的选项。给予 '?' 作为输入将显示 可供选择的选项列表及其解释。 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() 将字符串打印到 STDERR。 yii\console\Controller
stdout() 将字符串打印到 STDOUT。 yii\console\Controller
trigger() Triggers an event. yii\base\Component

受保护的方法

隐藏继承的方法

方法描述被定义在
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
getMigrationNameLimit() 返回迁移的最大名称长度。 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() 返回 docblock 的完整描述。 yii\console\Controller
parseDocCommentSummary() 返回 docblock 的第一行。 yii\console\Controller
parseDocCommentTags() 将注释块解析为标记。 yii\console\Controller
removeMigrationHistory() 从历史记录中删除现有迁移。 yii\console\controllers\BaseMigrateController
truncateDatabase() 截断数据库。 应在子类中覆盖此方法以实现清除数据库的任务。 yii\console\controllers\BaseMigrateController

Events

隐藏继承的事件

事件类型描述被定义在
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

常量

隐藏继承的常量

常量描述被定义在
BASE_MIGRATION 'm000000_000000_base' 虚拟迁移的名称,标记整个迁移历史记录的开头。 yii\console\controllers\BaseMigrateController
EXIT_CODE_ERROR 1 Deprecated 自 2.0.13。使用 yii\console\ExitCode::UNSPECIFIED_ERROR 替代。 yii\console\Controller
EXIT_CODE_NORMAL 0 Deprecated 自 2.0.13。使用 yii\console\ExitCode::OK 替代。 yii\console\Controller

属性详情

$compact 公共 属性 (自版本 2.0.13 可用)

指示是否应该压缩控制台输出。 如果设置为 true,则迁移中运行的各个命令将不会输出到控制台。 默认为 false,换句话说输出是完全详细的。

public boolean $compact false
$defaultAction 公共 属性

默认的命令操作。

public string $defaultAction 'up'
$migrationNamespaces 公共 属性 (自版本 2.0.10 可用)

包含迁移类的命名空间列表。

如果前缀为 @ 迁移命名空间应该可解析为 path alias,例如如果你指定 命名空间 app\migrations,代码 Yii::getAlias('@app/migrations') 应该能够返回 此命名空间引用的目录的文件路径。 这与Yii的 autoloading conventions 相适应。

例如:

[
    'app\migrations',
    'some\extension\migrations',
]

参见 $migrationPath.

$migrationPath 公共 属性

包含迁移类的目录。这可以是 一个 path alias 或一个目录路径。

位于此路径的迁移类应该在没有命名空间的情况下声明。 使用 $migrationNamespaces 属性以防你使用命名空间迁移。

如果你已经设置了 $migrationNamespaces,你可以按顺序将此字段设置为 null 禁用未命名空间的迁移的使用。

从版本 2.0.12 开始您还可以指定应该搜索的迁移路径数组 以加载迁移。这主要用于支持在没有命名空间的情况下 提供迁移的旧扩展,并在保留现有迁移的同时采用命名空间迁移的新功能。

通常,要从不同位置加载迁移,$migrationNamespaces 是首选解决方案 因为迁移名称包含历史记录中迁移的来源,而使用多个迁移路径时 则不是这种情况。

参见 $migrationNamespaces.

public string|array $migrationPath = ['@app/migrations']
$templateFile 公共 属性

用于生成新迁移的模板文件。 这可以是一个 path alias(例如 "@app/migrations/template.php") 或文件路径。

public string $templateFile null

方法详情

actionCreate() 公共 方法

创建新的迁移。

此命令使用可用的迁移模板创建新迁移。 使用此命令后,开发人员应通过填充实际的迁移逻辑 来修改创建的迁移框架。

yii migrate/create create_user_table

为了生成命名空间迁移,您应该在迁移名称之前指定命名空间。 请注意反斜杠(\)通常被认为是 shell 中的特殊字符,因此您需要将其转义 正确避免 shell 错误或不正确的行为。 例如:

yii migrate/create 'app\\migrations\\createUserTable'

如果未设置 $migrationPath 且未提供命名空间,则将使用 $migrationNamespaces的第一个条目。

public void actionCreate($name)
$name string

新迁移的名称。这应该只包含 字母,数字,下划线和/或反斜杠。

注意:如果迁移名称是特殊形式,例如 create_xxx 或 drop_xxx, 然后生成的迁移文件将包含额外的代码, 在这种情况下用于创建/删除表。

throws yii\console\Exception

如果 name 参数无效。

actionDown() 公共 方法

通过恢复旧迁移来降级应用程序。

例如,

yii migrate/down     # 恢复上次迁移
yii migrate/down 3   # 恢复最后 3 次迁移
yii migrate/down all # 恢复所有迁移
public integer actionDown($limit 1)
$limit integer|string

要还原的迁移次数。默认为 1, 表示将恢复上次应用的迁移。当值为 “all” 时,将还原所有迁移。

return integer

动作执行的状态。0 表示正常,其他值表示异常。

throws yii\console\Exception

如果指定的步数小于 1。

actionFresh() 公共 方法 (自版本 2.0.13 可用)

截断整个数据库并从头开始迁移。

yii migrate/fresh
public void actionFresh()
actionHistory() 公共 方法

显示迁移历史记录。

此命令将显示已应用的迁移列表到目前为止。 例如,

yii migrate/history     # 显示最近 10 次迁移
yii migrate/history 5   # 显示最近 5 次迁移
yii migrate/history all # 显示整个历史记录
public void actionHistory($limit 10)
$limit integer|string

要显示的最大迁移数。 如果是 "all",将显示整个迁移历史记录。

throws yii\console\Exception

如果传递了无效限制值。

actionMark() 公共 方法

将迁移历史记录修改为指定的版本。

不会进行实际迁移。

yii migrate/mark 101129_185401                        # 使用时间戳
yii migrate/mark m101129_185401_create_user_table     # 使用全名
yii migrate/mark app\migrations\M101129185401CreateUser # 使用命名空间全名
yii migrate/mark m000000_000000_base # 重置完整的迁移历史记录
public integer actionMark($version)
$version string

应标记迁移历史记录的版本。 这可以是时间戳或迁移的全名。 你可以指定名称 m000000_000000_base 以将迁移历史设置为 未应用迁移的状态。

return integer

CLI 退出码

throws yii\console\Exception

如果版本参数无效或无法找到版本。

actionNew() 公共 方法

显示未应用的新迁移。

此命令将显示尚未应用的新迁移。 例如,

yii migrate/new     # 显示前 10 次新迁移
yii migrate/new 5   # 显示前 5 次新迁移
yii migrate/new all # 显示所有新迁移
public void actionNew($limit 10)
$limit integer|string

要显示的最大新迁移数。 如果是 all,将显示所有可用的新迁移。

throws yii\console\Exception

如果传递了无效限制值。

actionRedo() 公共 方法

重做最后几次迁移。

此命令将首先还原指定的迁移, 然后再次应用 他们。比如,

yii migrate/redo     # 重做上次应用的迁移
yii migrate/redo 3   # 重做最后 3 次应用的迁移
yii migrate/redo all # 重做所有迁移
public integer actionRedo($limit 1)
$limit integer|string

要重做的迁移次数。默认为 1, 表示最后一次应用的迁移将重做。当等于 "all" 时,将重做所有迁移。

return integer

动作执行的状态。0 表示正常,其他值表示异常。

throws yii\console\Exception

如果指定的步数小于 1。

actionTo() 公共 方法

升级或降级至指定版本。

也可以将版本降级到过去的某个应用时间,通过提供 一个 UNIX 时间戳或者一个 strtotime() 函数可解析的字符串。这意味着 在指定的特定时间之后应用的所有版本都将被还原。

此命令将首先还原指定的迁移,然后再次应用他们。 比如,

yii migrate/to 101129_185401                          # 使用时间戳
yii migrate/to m101129_185401_create_user_table       # 使用全名
yii migrate/to 1392853618                             # 使用 UNIX 时间戳
yii migrate/to "2014-02-15 13:00:50"                  # 使用 strtotime() 可解析的字符串
yii migrate/to app\migrations\M101129185401CreateUser # 使用完整的命名空间名称
public void actionTo($version)
$version string

应用将迁移到的 过去的版本名称或特定的时间值。这可以是时间戳, 迁移的全名,UNIX 时间戳或,或可解析的时间日期 字符串。

throws yii\console\Exception

如果 version 参数无效。

actionUp() 公共 方法

通过应用新迁移来升级应用程序。

例如,

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 void addMigrationHistory($version)
$version string

迁移版本名称。

beforeAction() 公共 方法

在执行动作之前调用此方法(在所有可能的过滤器之后。) 它检查 $migrationPath 的存在。

public boolean beforeAction($action)
$action yii\base\Action

要执行的动作。

return boolean

是否应该继续执行该动作。

throws yii\base\InvalidConfigException

如果在 migrationPath 中指定的目录不存在并且动作不是 "create"。

createMigration() 受保护 方法

创建新的迁移实例。

protected yii\db\MigrationInterface createMigration($class)
$class string

迁移类名

return yii\db\MigrationInterface

迁移实例

generateMigrationSourceCode() 受保护 方法 (自版本 2.0.8 可用)

生成新的迁移源 PHP 代码。 子类可以重写此方法,为进程添加额外的逻辑或变动。

protected string generateMigrationSourceCode($params)
$params array

生成参数,通常存在以下参数:

  • name: string 迁移基本名称
  • className: string 迁移类名
return string

生成的 PHP 代码。

getMigrationHistory() 受保护 抽象 方法

返回迁移历史记录。

protected abstract array getMigrationHistory($limit)
$limit integer

要返回的历史记录中的最大记录数。null 表示 "no limit"。

return array

迁移历史记录

getMigrationNameLimit() 受保护 方法 (自版本 2.0.13 可用)

返回迁移的最大名称长度。

子类可以重写此方法以定义限制。

protected integer|null getMigrationNameLimit()
return integer|null

迁移的最大名称长度,如果没有限制则为 null

getNewMigrations() 受保护 方法

返回未应用的迁移。

protected array getNewMigrations()
return array

新迁移列表

includeMigrationFile() 受保护 方法 (自版本 2.0.12 可用)

包括给定迁移类名称的迁移文件。

此函数对命名空间迁移不做任何操作,哪些由 自动加载加载。它将包含迁移文件,通过在 $migrationPath 中搜索没有命名空间的类。

protected void includeMigrationFile($class)
$class string

迁移类名。

migrateDown() 受保护 方法

使用指定的迁移类降级。

protected boolean migrateDown($class)
$class string

迁移类名

return boolean

迁移是否成功

migrateToTime() 受保护 方法

迁移到过去指定的应用时间。

protected void migrateToTime($time)
$time integer

UNIX 时间戳值。

migrateToVersion() 受保护 方法

迁移到特定版本。

protected integer migrateToVersion($version)
$version string

名称的完整格式。

return integer

CLI 退出码

throws yii\console\Exception

如果找不到提供的版本。

migrateUp() 受保护 方法

使用指定的迁移类进行升级。

protected boolean migrateUp($class)
$class string

迁移类名。

return boolean

迁移是否成功。

options() 公共 方法

返回操作的有效选项的动作(id) 选项要求存在一个名为选项名的 公共成员变量。 子类可以重写此方法以指定可能的选项。

请注意,通过选项设置的值不可用 直到调用 beforeAction()

public string[] options($actionID)
$actionID string

当前请求的动作 id

return string[]

对操作有效的选项名称

removeMigrationHistory() 受保护 抽象 方法

从历史记录中删除现有迁移。

protected abstract void removeMigrationHistory($version)
$version string

迁移版本名称。

truncateDatabase() 受保护 方法 (自版本 2.0.13 可用)

截断数据库。 应在子类中覆盖此方法以实现清除数据库的任务。

protected void truncateDatabase()
throws yii\base\NotSupportedException

如果没有被覆盖