为啥 rake db:rollback 回滚三步?

Posted

技术标签:

【中文标题】为啥 rake db:rollback 回滚三步?【英文标题】:Why does rake db:rollback rollback three steps?为什么 rake db:rollback 回滚三步? 【发布时间】:2013-11-17 07:25:57 【问题描述】:

通常我这样做的时候

$ rake db:rollback

它回滚一次迁移。但是现在,反复多次,它已经回滚了 3 步。

为什么会出现这种行为?

我在 Rails 3.2.13 上。

【问题讨论】:

不,我回滚了一次(使用指定的命令),它不仅回滚了一个(预期步骤),而且回滚了三个。 你能显示你的迁移列表吗? 【参考方案1】:

您可以像这样指定步数:

rake db:rollback STEP=3

STEP 参数在这里实际上是一个环境变量。如果在终端中运行命令echo $STEP,它会返回 3 吗?如果是这样,您可以执行export STEP=1 以恢复预期行为。如果再次发生,请尝试找出此环境变量的设置位置。

【讨论】:

以上是关于为啥 rake db:rollback 回滚三步?的主要内容,如果未能解决你的问题,请参考以下文章

Rake 不会回滚迁移,参数数量错误(1 代表 0)

如何使用 rake db:migrate 仅回滚一步

为啥 rake db:migrate:reset 未在 rake -T 中列出?

Laravel之事务与锁

为啥 rake assets:precompile 需要永远?

GitGit 基础命令 ( 查看提交记录 git log | 版本回滚 git reset | 撤销回滚 git reflog )