`postgresql_connection':没有指定数据库。缺少参数:数据库。 (引发ArgumentError)
我使用Homebrew安装了postgresql,并且能够使用我的本地用户名作为posgresql帐户从命令行成功连接。但是,在运行任何与数据库相关的rake任务时,我得到了上述错误,而我似乎无法弄清楚原因。
这是我的database.yml。 https://gist.github.com/3177f1f6b90a69e3829a
答案 0 :(得分:3)
不确定它是否只是粘贴错误,但是通过适配器缩进编码,主机,池等可能会导致问题。 YAML具有空格感知,并假设它们嵌套在适配器下。
答案 1 :(得分:1)
我在Rails 3.1项目中遇到了这个问题。在Rails 3.1之前完全解析的干YML(由许多指南推荐)不再有效。 Rails 3.1将yml解析器从'syck'转换为'psych'。
此更改的后果之一 - 可能未知的更改为Rails 3.1验证database.yml - 是Eric M.正在使用的规范DRY rails配置触发“Missing argument:database”错误,因为:设置被视为rails环境,因此它无法通过验证,因为它不包含数据库的值。您可以通过创建任意环境,遗漏数据库字段,以及运行rake db:version或任何数据库敏感命令的问题来产生相同的错误。
有许多可能的解决方法(按照我的偏好顺序):
YAML::ENGINE.yamler = "syck"
设置在application.rb的顶部。您可能需要先require 'yaml'
。我在Rails 3.1应用程序中使用第一个解决方案没有任何问题。感谢Eric M.提出这个问题(不确定你是否有一个Rails 3.1应用程序或只是一些文本gremlins,因为颠倒了为你工作但不适合我的订单)。
答案 2 :(得分:0)
我想到了一些事情。
可能不是一个绝对的解决方案,但这将有助于缩小问题的来源。