Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 &引用;数据库配置未指定适配器";Rails 3.2中的PG gem错误_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 3 &引用;数据库配置未指定适配器";Rails 3.2中的PG gem错误

Ruby on rails 3 &引用;数据库配置未指定适配器";Rails 3.2中的PG gem错误,ruby-on-rails-3,Ruby On Rails 3,在运行“rakedb:migrate”时,我得到一个“数据库配置未指定适配器”错误 这是我的数据库.yml: development:  adapter: postgresql  database: development  username: ##########  password: ##########  host: localhost  pool: 5  timeout: 5000 我的文件列表: gem 'pg' 您是否确保将环境设置为开发 这是我mac电脑上的导出R

在运行“rakedb:migrate”时,我得到一个“数据库配置未指定适配器”错误

这是我的数据库.yml:

development:
  adapter: postgresql
  database: development
  username: ##########
  password: ##########
  host: localhost
  pool: 5
  timeout: 5000
我的文件列表:

gem 'pg'

您是否确保将环境设置为开发


这是我mac电脑上的导出RAILS\u ENV=development。

弄清楚了它是什么。我将database.yml跳转到我自己,它插入了大量不可见的字符,阻止了YAML的读取。

在我的例子中

RAILS_ENV=development rake db:migrate

成功了。

在最近对Rails应用程序进行了一些更改之后,我也遇到了这个错误。首先,错误出现在
unicorn
日志中,因此我尝试运行
rake db:setup
,也得到了错误

在我的例子中,我不知何故在
test
数据库定义前面获得了一个额外的空间。因此,我的
数据库.yml
如下所示:

...
 test:
  adapter: postgresql
...
production:
  adapter: postgresql
...
与此相反:

...
test:
  adapter: postgresql
...
production:
  adapter: postgresql
...

我删除了空间,解决了问题。

空间放在哪里?值得注意的是,我在OSX Lion中。在启动rails服务器或运行迁移任务No go之前,请在终端中键入该命令。还有其他想法吗?我仍然得到一个“数据库配置不指定适配器”,即使是在“rake db:migrate”之前执行的。我真的真的希望我是。我真的真的希望你也是,因为我遇到了同样的问题,并通过查看此答案解决了它。哦,是的,当你skype some1数据库.yml内容时会发生这种情况。这里发生了两次,但我刚刚意识到。如果您执行
be rails c rails_ENV=test
(注意
rails_ENV
是在命令之后),显然也会发生这种情况。我将命令改为
RAILS\u ENV=test be RAILS c
,它成功了。(注意:
be
是我的
bundle exec
)别名。您可以始终将
export RAILS\u ENV=development
添加到
~/.bashrc
文件中。或者您可以键入
rake db:migrate RAILS\u ENV=development
,告诉rake将该变量输入其上下文。这是个坏主意。有时,您需要RAILS_ENV=test。