如何取消正在运行的迁移

时间:2017-04-23 07:25:59

标签: ruby-on-rails

ruby on rails应用中,我运行了rails db:migrate,由于某种原因导致迁移挂起。我最终不得不杀死运行迁移的终端选项卡。当我尝试在新标签页中运行rails db:migrate时,收到了以下错误消息:

Cannot run migrations because another migration process is currently running

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:9)

停止然后重新启动数据库。然后再次尝试rails db:migrate

如果您在Mac OSX上使用与自制程序一起安装的posgresql,则以下停止/重新启动数据库:

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
pg_ctl -D /usr/local/var/postgres stop -s -m fast

答案 1 :(得分:5)

如果您在基于Linux的系统中使用postgresql,则可以使用以下命令重新启动数据库。然后再次运行迁移。

/etc/init.d/postgresql restart