Rails应用程序已部署并正常工作,但MySQL数据库显示为空

时间:2009-07-24 07:33:48

标签: mysql ruby-on-rails deployment mod-rails

我使用mod_rails和nginx在Capistrano上部署了一个Ruby on Rails应用程序,它运行得很好,但我有一个令人困惑的问题。

当我在服务器上运行以下命令时:

SHOW TABLES IN application_production;

MySQL返回:

Empty set (0.00 sec)

我知道信息正在写入数据库,因为我输入了正在保存的数据。我已经尝试重新启动Rails应用程序和整个服务器,以及从其他计算机访问该站点,它运行正常,但查询仍然返回一个空集。我完全难过了。

任何人都知道发生了什么事吗?谢谢!

2 个答案:

答案 0 :(得分:2)

您的database.yml文件是否已针对生产环境正确设置?

答案 1 :(得分:0)

当然,在我发布问题后10分钟,我想出来了:

在部署之前,我没有将更新的database.yml文件提交给Mercurial,因此当它下载最新的变更集时,使用旧的database.yml(使用默认的生产数据库)。因此,它在我的项目文件夹中使用SQLite数据库而不是MySQL。

愚蠢的错误!道德:总是确保在部署之前提交。