sqlite - 使用 SQLite 3将RoR部署到Heroku的Ruby on Rails

  显示原文与译文双语对照的内容
73 2

我正在尝试将我的第一个应用程序部署到 Heroku 。 我使用SQLite作为数据库。 据我所知Heroku并没有使用 SQLite - 它在后台切换到 Postgres 。

部署时,出现以下错误:

/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/runtime.rb:64:in `require: 没有加载 -- sqlite3 ( LoadError )的文件

我的Gemfile ( 这就是我认为造成这个问题的原因) 如下所示:


source 'http://rubygems.org'



gem 'rails', '3.0.0' 


gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'



我做错什么了?

时间: 原作者:

99 1

Heroku不支持SQLite数据库。 你需要在生产中使用 PostgreSQL,就像在本文中所解释的。


group :production do


 gem"pg"


end



group :development, :test do


 gem"sqlite3","~> 1.3.0"


end



实际上,建议在开发/测试环境中使用尽可能接近生产的环境。 因此,我建议你将所有环境都设置为 PostgreSQL 。


# replace gem"sqlite3" with


gem"pg"



原作者:
76 0

is Carletti是正确的所以 is 。 你只需要将 sql gem 分组,或者完全从你的文件中删除。 Heroku需要知道你不希望在生产中使用 sqlite3

这就是:


...


group :development, :test do


 gem"sqlite3-ruby","~> 1.3.0", :require =>"sqlite3"


end


...



或者这个:


...


#No reference to sqlite3-ruby


...



如果你完全删除引用,你可能会搞乱本地数据库

...