即使我试图在Rails 3开发机器上使用PostgreSQL,也会出现SQLite3错误

时间:2011-03-27 04:00:34

标签: ruby-on-rails-3 sqlite postgresql heroku

关于Rails 3开发的新手问题。

我正在创建我的第一个应用程序并计划将其部署到Heroku。由于Heroku使用PostgreSQL,我以为我会在开发机器上从SQLite更改并转移到PostgreSQL。这是gem文件:

***来源'http://rubygems.org'

gem'rail','3.0.1'

gem'pg',:require => 'PG'

宝石'设计','1.2.0'

组:开发做

gem'rspec-rails','2.0.1'

组:测试做

gem'rspec','2.0.1'

gem'webrat','0.7.1'

端***

我运行了一个页面生成器,但每当我尝试在本地查看页面时,都会出现以下错误:

  

没有要加载的文件--sqlite3

我不明白这个SQLite错误的来源,因为我从gemfile中注释掉了SQLite。

更大的问题是更改我的数据库gem是必要的。用SQLite开发并让主机转换数据库是否更好?

TIA

1 个答案:

答案 0 :(得分:1)

问题可能在你的database.yml,我猜它看起来像这样:

development:
  adapter: sqlite3

但你希望它看起来更像这样:

development:
  adapter: postgresql

您可能也想对test:production:部分应用相同的更改; Heroku不会注意适配器,但一致性是个好主意。

就第二个问题而言,我认为你最好在相同的平台上开发和部署。您通常可以在OSX或Windows上进行开发,但是如果您小心,则应该在Linux上进行部署,但是您应该拥有相同的gem版本,相同的Ruby版本,相同的Rails版本,相同的数据库(包括版本!)等等。迟早会给你带来很多痛苦和痛苦。所以,当你在Heroku上部署时,要在PostgreSQL上进行开发,这是值得称道的。