现象

前两天,在调试一个ruby on rails的应用时,不清楚出了哪一步错,让 development.log文件中出现了神秘的输出:Connecting to database specified by database.yml,一行接着一行,大概每几十秒就出现一次。

重启了这个应用,Connecting to database specified by database.yml 仍然不受影响地持续输出; 重启了apache,仍然毫无改观; 重启了Mac,居然也没有作用,Connecting to database specified by database.yml 好顽强啊。

怎么办?当然还是先上网查询喽。

解决

网上文章不多,查了一阵,还是没有头绪。第二天,望着屏幕上如同罗马军团无可阻挡的列队行进,继续查询。突然看到下面的一篇: “Connecting to database specified by database.yml” in Rails production,Hint一闪: 问题的产生,肯定还是Ruby on Rails 应用本身所致!

两天前,我在应用中引入了一个新的Gem包:gem ‘delayed_job_active_record’ 并且按照github的说明,生成了所需的数据表。后来,因为这个应用连接了多个数据库,而delayed_job_active_record Gem包自动把数据表生成在第一个定义连接的数据库中,这和我所需的场景不吻合。手动修改后,该Gem包在应用运行的时候,还是去第一个定义连接的数据库中寻找,从而无法找到。然后,就出现了 Connecting to database specified by database.yml 持续写入 development.log 文件的现象。

知道了原因,就好解决了:

  • 把Gemfile里面的 gem ‘delayed_job_active_record’ 删除;
  • 把script目录下面的delaye_job_active_record生成的件删除。

好了,development.log 文件,一切太平了。:)

扩展和联想:

访客的留言(6)

  1. 看不懂,专业性太强了,哈哈。你这个博客打开速度很慢、

  2. 现在技术不到位遇到问题都是前辈帮解决的

  3. 很有用,赞一个!

  4. 技术帝。帮顶。

欢迎留言