【发布时间】:2012-03-12 02:38:05
【问题描述】:
我已跟随Rails Tutorial 到达链接点。
这是外壳输出:
jrhorn424 at hook in ~/Learning/rails/rails-tutorial/demo_app on master
$ heroku run rake db:migrate
Running rake db:migrate attached to terminal... up, run.2
### Snip ###
Migrating to CreateUsers (20120310145100)
Migrating to CreateMicroposts (20120311052021)
rake aborted!
database configuration does not specify adapter
Tasks: TOP => db:schema:dump
(See full trace by running task with --trace)
我咨询了Heroku quick start,并进行了一些谷歌搜索。我怀疑问题出在config/database.yml 上,因为我的开发环境中充满了对sqlite3 的引用。但是,在服务器上,同一个文件包括以下几行:
adapter = uri.scheme
adapter = "postgresql" if adapter == "postgres"
通过已部署的应用程序添加数据成功,但运行heroku run rake db:migrate 仍然失败。
这是我的 Gemfile:
source 'https://rubygems.org'
gem 'rails', '3.2.2'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
group :development do
gem 'sqlite3', '1.3.5'
end
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '3.2.4'
gem 'coffee-rails', '3.2.2'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer'
gem 'uglifier', '1.2.3'
end
gem 'jquery-rails', '2.0.0'
group :production do
gem 'pg', '0.12.2'
end
【问题讨论】:
-
Heroku 覆盖 database.yml 文件以使用它自己的 PostgreSQL 实例。您能否将您的 Gemfile 添加到此问题中?
-
谢谢,@RyanBigg。添加了 Gemfile。如前所述,服务器上的
database.yml似乎包含正确的适配器。
标签: ruby-on-rails heroku rake