0

我已经在 Capistrano 上使用 mod_rails 和 nginx 部署了一个 Ruby on Rails 应用程序,它运行良好,但我遇到了一个莫名其妙的问题。

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

SHOW TABLES IN application_production;

MySQL 返回:

Empty set (0.00 sec)

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

有人知道发生了什么吗?谢谢!

4

2 回答 2

2

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

于 2009-07-24T08:04:18.230 回答
0

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

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

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

于 2009-07-24T07:48:54.673 回答