Rake db:migrate 刚刚恢复(回滚)所有迁移

Rake db:migrate just reverted (rolled back) all the migrations

我刚刚在暂存中合并了一个 b运行ch 和 运行 rake db:migrate,它恢复了我所有的迁移。 (而不是迁移新的)

然后我回到 master,重新加载数据库和 运行 迁移,再次,数据库像以前一样被清除了。

关于如何调试的任何提示?

为什么 db:migrate 甚至回滚任何迁移?

关于如何使用不同命令的任何提示,该命令告诉 rails 仅获取新迁移并执行 up 并且永远不会回滚任何迁移?

如果设置了 VERSION 环境变量,则 rails 将迁移到该版本而不是最新版本。特别是因为 rails 调用 to_i 如果它包含非整数值,它将迁移到版本 0。您可以通过 运行 env(列出所有环境变量)或 (echo $VERSION)

进行检查

这主要是 rake 不支持在命令行上向任务传递参数时遗留下来的,因此人们使用环境变量来模拟它们,这样您就可以做到

rake db:migrate VERSION=xyz