Rails DB rake任务运行但从不退出

时间:2011-09-04 22:35:13

标签: mysql ruby-on-rails ruby rake

当我运行Rails提供的任何rake db任务时,它们会成功运行但永远不会退出。我必须按CTRL + C退出任务。我已经测试了运行它超过8小时,问题仍然存在。

如果我运行rake db:migrate --trace

,这是输出
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:load_config
** Execute db:migrate
** Invoke db:schema:dump (first_time)
** Invoke db:load_config 
** Execute db:schema:dump
_

就像我说的,一切都按预期运行,但它在db:schema:dump之后挂起。

我正在使用以下内容:

  • Mac OS X 10.7.1(Lion)
  • Ruby 1.9.2p290
  • Rails 3.1.0
  • MySQL 5.5.14
  • mysql2 gem 0.3.7

我还会注意到这是一个没有添加gems /代码的基础Rails应用程序。我可以使用rails new testapp -d mysql然后rake db:createbundle exec rake db:create进行复制。

是否有人遇到此问题或知道我可以做些什么来进一步排除故障?

2 个答案:

答案 0 :(得分:1)

我解决了这个问题。

首先,我尝试卸载使用官方二进制文件安装的MySQL版本,然后使用Homebrew重新安装。那什么都没做。

然后我运行了brew更新,重新启动了MySQL,并再次尝试。找到了!它奏效了。

罪魁祸首似乎是以下某个版本的旧版本中的错误:

libiconv
glib
gtk+

这些是唯一更新的公式。

答案 1 :(得分:0)

同样的事情发生在我身上,但不要担心,我尝试了捆绑更新后,我从来没有遇到过这个问题。