在Yii中运行单个迁移(不是最新的)

在Yii中运行单个迁移(不是最新的),yii,yii-components,Yii,Yii Components,我几乎没有迁移文件。如果此迁移不是最新的,而是迁移历史中的一些步骤,我如何向下或向上运行单个迁移 当我运行yiic migrate up 1时,它会运行最新的迁移。使用迁移版本作为参数运行迁移命令也无济于事。请查看有关以下部分的文档: 如果您只想撤消/重做迁移历史记录中的一个特定迁移。您必须修改您的: 但我想恢复并应用指定的迁移,而不是最后一次或最后三次。我明白你的意思。我将执行yiic migrate mark idOfMyMigration以转到所需的迁移,然后我将能够从所需的迁移开始向上/

我几乎没有迁移文件。如果此迁移不是最新的,而是迁移历史中的一些步骤,我如何向下或向上运行单个迁移


当我运行
yiic migrate up 1
时,它会运行最新的迁移。使用迁移版本作为参数运行迁移命令也无济于事。

请查看有关以下部分的文档:

如果您只想撤消/重做迁移历史记录中的一个特定迁移。您必须修改您的:


但我想恢复并应用指定的迁移,而不是最后一次或最后三次。我明白你的意思。我将执行
yiic migrate mark idOfMyMigration
以转到所需的迁移,然后我将能够从所需的迁移开始向上/向下迁移。这将把历史标记设置为给定点,并且实际上只会重新执行一次特定的迁移。但是,执行
yiic migrate
将导致yiic尝试从给定标记执行所有迁移,直到最新标记。在重做最新的迁移之后,必须记住将历史标记“重置”为最新的迁移。似乎2020年的正确语法是
yii migrate/mark 101129_185401
(注意
/
yiic migrate redo [step]
yiic migrate mark 101129_185401
yiic migrate redo