使用Sqlite3将RoR应用程序部署到Heroku失败 [英] Deploying RoR app to Heroku with Sqlite3 fails

查看:116
本文介绍了使用Sqlite3将RoR应用程序部署到Heroku失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图将我的第一个应用程序部署到Heroku。我使用Sqlite作为数据库。据我所知Heroku不使用Sqlite - 它会在后端切换到Postgres。

I'm trying to deploy my first app to Heroku. I'm using Sqlite as the database. As far as I know Heroku doesn't use Sqlite - it switches to Postgres in the backend.

当我部署时,我收到以下错误:

When I'm deploying I get the following error:


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

/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/runtime.rb:64:in `require': no such file to load -- sqlite3 (LoadError)

我的gemfile (这是我假设是导致这个问题)看起来如下:

My gemfile (which is what I assume is causing this problem) looks as follows:

source 'http://rubygems.org'

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

我做错了什么?

推荐答案

Heroku不支持SQLite数据库。您需要在生产时使用PostgreSQL,如我也在本文中解释了

Heroku doesn't support SQLite databases. You need to use PostgreSQL on production, as I also explained in this post.

group :production do
  gem "pg"
end

group :development, :test do
  gem "sqlite3", "~> 1.3.0"
end

实际上,建议在开发/测试环境中尽可能接近生产环境。因此,我建议您将所有环境切换到PostgreSQL。

Actually, it's recommended to use in development/test an environment as close as possible to production. Therefore, I suggest you to switch all your environments to PostgreSQL.

# replace gem "sqlite3" with
gem "pg"

这篇关于使用Sqlite3将RoR应用程序部署到Heroku失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆