2011-09-20 165 views
1

有一个heroku上传的问题。相当新的RoR所以请原谅初学者的问题。上传到Heroku DB rake:迁移问题

我下面on Rails的Ruby的教程(http://ruby.railstutorial.org),和脚手架后,我键入Heroku的耙分贝:迁移并收到以下错误:

rake aborted! Please install the postgresql adapter: gem install activerecord-postgresql-adapter (pg is not part of the bundle. Add it to Gemfile.)

Tasks: TOP => db:migrate => db:load_config (See full trace by running task with --trace)

第一次,没问题,但这次我得到这个错误。有任何想法吗?

+0

听起来像你需要运行命令'gem install activerecord-postgresql-adapter'。 – Alex

+0

@Alex我确实已经尝试过了,并且引发错误错误:无法在任何存储库中找到有效的gem'activerecord-postgresql-adapter'(> = 0) 错误:可能的替代方案:activerecord-jdbcpostgresql-adapter, ActiveRecord的-PostGIS的适配器,ActiveRecord的-jdbcmssql适配器,ActiveRecord的-jdbcmysql适配器,ActiveRecord的,PostgreSQL的游标 –

+0

你有没有加入'pg'到您的Gemfile运行'捆绑install'? – sscirrus

回答

2

不是Simone的答案,但经过更多挖掘后,答案终于出现了。我需要做到以下几点:

在Gemfile中,我需要改变创业板的sqlite3'到:

group :development, :test do gem 'sqlite3' end 

group :production do gem 'pg' end 

,然后我需要Heroku的创建--stack雪松

感谢您的帮助大家不管,我希望这可以帮助别人的未来。

2

默认情况下,一个新的Rails应用程序被配置为使用sqlite3的数据库。 Heroku不支持SQLite3,you must use PostgreSQL

你有两种选择:

  1. 保持在开发和测试中使用sqlite3,并切换到PostgreSQL生产。
  2. 切换到PostgreSQL

无论哪种方式,您需要将pg宝石添加到您的Gemfile(假设你使用Rails 3)和删除sqlite3

# Gemfile 
gem 'pg' 

如果你想在开发和测试

# Gemfile 
group :development, :test do 
    gem 'sqlite3' 
end 

group :production do 
    gem 'pg' 
end 

您可能还需要进行相应的更改database.yml配置使用SQLITE3。

+0

啊,这就是我想的。没意识到我需要删除sqlite3!我会稍后再试,谢谢:) –