如何解决任何与数据库相关的瑞克任务都出现“ 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是否存在
可能不是绝对的解决方案,但这将有助于缩小问题的出处。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。