使用 SQLite 3 将 RoR 应用程序部署到 Heroku 失败

Deploying RoR app to Heroku with SQLite 3 fails(使用 SQLite 3 将 RoR 应用程序部署到 Heroku 失败)
本文介绍了使用 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 失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

FastAPI + Tortoise ORM + FastAPI Users (Python) - Relationship - Many To Many(FastAPI+Tortoise ORM+FastAPI用户(Python)-关系-多对多)
Window functions not working in pd.read_sql; Its shows error(窗口函数在pd.read_sql中不起作用;它显示错误)
(Closed) Leaflet.js: How I can Do Editing Geometry On Specific Object I Select Only?((已关闭)Leaflet.js:如何仅在我选择的特定对象上编辑几何图形?)
in sqlite update trigger with multiple if/Case Conditions(在具有多个IF/CASE条件的SQLite UPDATE触发器中)
Android: Why is Room so slow?(Android:为什么Room这么慢?)
Remote Procedure call failed with sql server 2008 R2(使用 sql server 2008 R2 的远程过程调用失败)