Yii2 运行 仅特定迁移
Yii2 run only specific migration
在 Yii2 中,当我使用
yii migrate
命令,我得到了一长串剩余迁移。我如何才能只 运行 列表中的一个特定迁移而不执行其他迁移?
如果您想跳过一些已在您的数据库中实现但没有 运行 迁移的迁移,您可以设置没有 运行 它们的迁移状态。
通过 "marking" 迁移,您还保证它们将不再被重新提示,并将被视为 "done"。
您可以在 Yii 文档中阅读有关标记的内容 here
yii migrate --migrationPath=@app/modules/forum/
运行 migrate/history
已应用列表迁移:
./yii migrate/history
复制你想要 return 的迁移名称到以后(假设它是 'm160101_185401_initial_migration')。将它保存在某处,因为您稍后会需要它。
将迁移历史记录标记在您需要运行之前的那个:
./yii migrate/mark m170101_185401_create_news_table
运行 一次迁移:
./yii migrate 1
重置迁移历史记录:
./yii migrate/mark m160101_185401_initial_migration
对于 运行 特定迁移,您可以将迁移标记(跳过)到您想要的 运行 之前。
您可以使用以下命令之一标记迁移:
- 使用时间戳指定迁移
yii migrate/mark 150101_185401
- 使用strtotime()可以解析的字符串
yii migrate/mark "2015-01-01 18:54:01"
- 使用全名
yii migrate/mark m150101_185401_create_news_table
- 使用 UNIX 时间戳
yii migrate/mark 1392853618
在 Yii2 中,当我使用
yii migrate
命令,我得到了一长串剩余迁移。我如何才能只 运行 列表中的一个特定迁移而不执行其他迁移?
如果您想跳过一些已在您的数据库中实现但没有 运行 迁移的迁移,您可以设置没有 运行 它们的迁移状态。
通过 "marking" 迁移,您还保证它们将不再被重新提示,并将被视为 "done"。
您可以在 Yii 文档中阅读有关标记的内容 here
yii migrate --migrationPath=@app/modules/forum/
运行 migrate/history
已应用列表迁移:
./yii migrate/history
复制你想要 return 的迁移名称到以后(假设它是 'm160101_185401_initial_migration')。将它保存在某处,因为您稍后会需要它。
将迁移历史记录标记在您需要运行之前的那个:
./yii migrate/mark m170101_185401_create_news_table
运行 一次迁移:
./yii migrate 1
重置迁移历史记录:
./yii migrate/mark m160101_185401_initial_migration
对于 运行 特定迁移,您可以将迁移标记(跳过)到您想要的 运行 之前。 您可以使用以下命令之一标记迁移:
- 使用时间戳指定迁移
yii migrate/mark 150101_185401
- 使用strtotime()可以解析的字符串
yii migrate/mark "2015-01-01 18:54:01"
- 使用全名
yii migrate/mark m150101_185401_create_news_table
- 使用 UNIX 时间戳
yii migrate/mark 1392853618