【问题标题】:Rails, Postgres, EC2/AWS: Database Config Does Not Specify Adapter ErrorRails、Postgres、EC2/AWS:数据库配置未指定适配器错误
【发布时间】:2014-02-16 00:12:06
【问题描述】:

我正在尝试将我的 Rails 应用程序连接到包含 PG 数据库的 EC2 实例。我已经用 Navicat 确认我可以根据 EC2 的详细信息连接到数据库。问题是在本地运行时无法查看 Rails 应用程序;它抛出错误“数据库配置未指定适配器”。当我尝试数据库迁移时,会引发类似的问题。我什至没有尝试将它推送到我的 Rails EC2,因为它在本地无法运行。

我的 database.yml 文件如下所示:

production:
 adapter: postgresql
 encoding: unicode
 database: postgres
 host: ec2-54-197-115-117.compute-1.amazonaws.com
 pool: 10
 port: 5432 (have both included and removed this line)
 username: a database username for security
 password: the password associated with that user

我的 gem 文件包含 gem pg。

对于数据库名称,我只是在 Navicat 中写了它,但也许我应该使用一个与之相关的官方名称;如果是这样,我将如何找到它?我从 EC2 详细信息中获得的主机。用户名和密码是我通过 unix 在 postgres 数据库中设置的。

提前感谢您的任何见解!

编辑:

已修复!

【问题讨论】:

    标签: ruby-on-rails database postgresql amazon-web-services amazon-ec2


    【解决方案1】:

    已修复!我在设置 PG 后忘记创建一个实际的数据库;我更改了 database.yml 文件中的名称以反映新的数据库名称。此外,我需要使用“export RAILS_ENV=production”直接设置我的 Rails 应用程序环境(我认为 Apache 会自动使用Passenger 完成此操作)。当我重新启动服务器时,我认为它仍然损坏并且没有任何改变,但我只需要重新启动控制台。希望这对其他人也有帮助!

    【讨论】:

    • 感谢您提交解决方案 - 它对我有很大帮助!为了让我的工作,我必须将数据库的名称添加到主机名以使其工作;换句话说,在 RDS 管理控制台中,“端点”是“staging.blabla.eu-west-1.amazonaws.com:5432”。我删除了 :5432 部分,但留在了“staging.”中,这是我的数据库的名称。只是 FWIW!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    相关资源
    最近更新 更多