在Yii2中,当我使用的时候
yii迁移
命令,我得到一长串剩余的迁移。如何才能在列表中运行一个特定的迁移而不执行其他迁移?
运行migrate/history
列表迁移已应用:
./yii migrate/history
复制您想要稍后返回的迁移名称(假设它是'm160101_185401_initial_migration')。把它保存在某个地方因为你以后需要它。
在您需要运行的迁移历史记录之前标记迁移历史记录:
./yii migrate/mark m170101_185401_create_news_table
运行一次迁移:
./yii migrate 1
重置迁移历史:
./yii migrate/mark m160101_185401_initial_migration
yii migrate --migrationPath=@app/modules/forum/
如果要跳过已在数据库中实施但未运行迁移的某些迁移,则可以在不运行迁移的情况下设置迁移状态。
通过“标记”迁移,您还可以确保它们不再被重新提示并被视为“完成”。
你可以在Yii docs here上阅读有关标记的内容
要运行特定迁移,您可以将迁移标记(跳过)到您想要运行的迁移之前。您可以使用以下命令之一标记迁移:
yii migrate/mark 150101_185401
yii migrate/mark "2015-01-01 18:54:01"
解析的字符串yii migrate/mark m150101_185401_create_news_table
yii migrate/mark 1392853618