【发布时间】:2015-10-15 18:38:28
【问题描述】:
我的localhost:3000 给了我这个错误:
为数据库适配器指定了“postgresql”,但未加载 gem。将
gem 'pg'添加到您的 Gemfile(并确保其版本为 ActiveRecord 要求的最低版本)。
gem 已安装并已捆绑。让我困惑的是 Heroku 应用程序运行良好。当我尝试运行 rake db:create 时,我也会遇到同样的错误。
我目前正在参加学习 RoR 的课程,我在社区论坛中提出过这个问题,但没有运气。
我的 gemfile 是:
source 'https://rubygems.org'
ruby '2.2.1'
gem 'rails', '4.2.4'
gem 'sass-rails', '~> 5.0'
gem 'bootstrap-sass', '~> 3.3.5'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
group :development, :test do
gem 'sqlite3'
end
group :production do
gem 'pg', '~>0.18.3'
gem 'rails_12factor'
end
group :development, :test do
gem 'byebug'
end
group :development do
gem 'spring'
end
我的 database.yml 是:
default: &default
adapter: postgresql
pool: 5
timeout: 5000
development:
<<: *default
adapter: postgresql
encoding: unicode
database: my_development
username: davideye
password: 1234
host: localhost
port: 5432
test:
<<: *default
database: my_test
username: davideye
password: 1234
production:
<<: *default
database: my_production
username: davideye
password: 1234
【问题讨论】:
-
显示你的 gemfile。我认为这是您将 pg gem 放在哪里的问题。您需要在
production环境中添加pg以及在developmentenv 中的 dev 中使用的任何其他内容 -
gem pg 正在生产中,而 sqlite3 正在开发中。 Stackflow 不允许我发布屏幕截图,因为我是新用户
-
只需将
gemfile复制粘贴为您问题中的代码即可。你不需要截图。 -
能否请您发布您的数据库内容。yml 请确保您定义了
sqlite开发适配器。 -
正如@Dusht 所说,您现在可以发布database.yml 的内容
标签: ruby-on-rails ruby postgresql heroku