任何与数据库相关的瑞克任务都出现“ no database”错误

问题描述

| `postgresql_connection \':未指定数据库。缺少参数:数据库。 (ArgumentError) 我使用Homebrew安装了postgresql,并且能够使用本地用户名作为posgresql帐户从命令行成功连接。但是,在运行任何与数据库相关的rake任务时,出现上述错误,但我似乎无法弄清原因。 这是我的database.yml。 https://gist.github.com/3177f1f6b90a69e3829a     

解决方法

        不知道这是否只是粘贴错误,但是缩进编码,主机,池等可能会导致问题。 YAML具有空格识别功能,并且会假定它们嵌套在适配器下。     ,        我在Rails 3.1项目中也遇到了这个问题。在Rails 3.1不再有效之前,可以完全解析的Dry YML(许多指南建议)。 Rails 3.1将yml解析器从\'syck \'切换到\'psych \'。 这种更改的后果之一-可能是未知的对Database.yml的Rails 3.1验证的更改-是Eric M.使用的规范的DRY rails配置触发了\'Missing参数:database \'错误,因为:setup被视为Rails环境,因此它无法通过验证,因为它不包含数据库的值。通过创建任何环境,忽略数据库字段以及运行rake db:version或任何数据库敏感命令的问题,都可能产生相同的错误。 有许多可能的解决方法(按我的喜好排序): 取消设置部分,并将您的开发环境用作 变量替换的模型,覆盖以下字段 测试和生产不同。通过此设置,您只需 Rails期望的环境,它们都可以在负载下正确验证 使用耙子,您仍然可以获得非常干燥的设置。 https://gist.github.com/1242642 将虚拟数据库引用添加到公共引用和 现有数据库https://gist.github.com/1242623 被任何特定的数据库覆盖:在其他配置文件中设置。 这将使“设置”成为有效的环境,尽管接下来是一个 明确使用。 将Rails 3.1还原到旧的YAML解析引擎。我没有对此进行测试,但是有几篇博客文章声称它可以工作,但是当然,令人不愉快的副作用是,您迫使Rails使用了一个较旧的引擎,该引擎可能出于某些良好的原因而被放弃。例如,请参见带有Rails 3.1的Batcode博客错误和解决方法。建议的步骤是在application.rb的顶部设置“ 0”。您可能需要先ѭ1。 我正在Rails 3.1应用程序中使用第一个解决方案,没有任何问题。感谢Eric M.提出这个问题(不确定您是否有Rails 3.1应用程序或只是一些文本gremlins,因为颠倒顺序对您有用,但对我而言不适用)。     ,        我想到了一些事情。 确保\'pg \'宝石在您的Gemfile中 确保已运行捆绑安装,并确认确实安装了pg gem。 确保已通过rake db:create创建数据库 登录pg并验证数据库emorg_development是否存在 可能不是绝对的解决方案,但这将有助于缩小问题的出处。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...