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

查看:28
本文介绍了使用 SQLite 3 将 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:in`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"

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

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