yii2只运行特定的迁移

wixjitnu  于 2021-06-21  发布在  Mysql
关注(0)|答案(4)|浏览(469)

在yii2中,当我使用
yii迁移
命令,我得到一长串剩余的迁移。如何在列表中只运行一个特定迁移而不执行其他迁移?

ejk8hzay

ejk8hzay1#

如果要跳过已在数据库中实现的某些迁移而不运行迁移,请在不运行迁移的情况下设置迁移状态。
通过“标记”迁移,您还可以确保它们不再被重新提示,并且将被视为“完成”。
你可以在这里的yii文档中阅读有关标记的内容

wwwo4jvm

wwwo4jvm2#

yii migrate --migrationPath=@app/modules/forum/
kg7wmglp

kg7wmglp3#

要运行特定的迁移,可以将迁移标记(跳过)到要运行的迁移之前。可以使用以下命令之一标记迁移:
使用时间戳指定迁移 yii migrate/mark 150101_185401 使用可由strotime()解析的字符串 yii migrate/mark "2015-01-01 18:54:01" 使用全名 yii migrate/mark m150101_185401_create_news_table 使用unix时间戳 yii migrate/mark 1392853618

gev0vcfq

gev0vcfq4#

migrate/history 要列出已应用的迁移,请执行以下操作:

./yii migrate/history

复制要稍后返回的迁移名称(假设它是“m160101\u 185401\u initial\u migration”)。把它放在某个地方,因为你以后会需要它的。
在需要运行的迁移历史之前的位置标记迁移历史:

./yii migrate/mark m170101_185401_create_news_table

运行一次迁移:

./yii migrate 1

重置迁移历史记录:

./yii migrate/mark m160101_185401_initial_migration

相关问题