ruby-on-rails - 使用 SQLite 3 将 RoR 应用程序部署到 Heroku 失败

标签 ruby-on-rails heroku deployment sqlite

我正在尝试将我的第一个应用程序部署到 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': no such file to load -- sqlite3 (LoadError)

我的 Gemfile(我认为是导致此问题的原因)如下所示:

source 'http://rubygems.org'

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

我做错了什么?

最佳答案

Heroku 不支持 SQLite 数据库。您需要在生产环境中使用 PostgreSQL,如 I also explained in this post .

group :production do
  gem "pg"
end

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

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

# replace gem "sqlite3" with
gem "pg"

关于ruby-on-rails - 使用 SQLite 3 将 RoR 应用程序部署到 Heroku 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3897431/

相关文章:

ruby-on-rails - Capybara should have_content 等待的时间不够长

ruby-on-rails - 使用 to_json 包含方法中的嵌套信息

cakephp - 如何处理一个 CakePHP Web 应用程序的多个安装的部署和更新?

linux - 更改文件创建时的 Linux 用户默认所有权?

azure - Ansible 部署 Azure Function

ruby-on-rails - Ruby on Rails 4.2 Assets 管道不会缩小/压缩 application-fingerprinted.js JS 文件

ruby-on-rails - Rails 4.2 常量 - 将它们放在哪里 : application. yml 与自定义配置文件.rb

node.js - heroku 如何将请求路由到正确的端口?

ruby-on-rails - 我们很抱歉,但有些不对劲。 - Heroku 托管

ruby-on-rails - 暂存环境 : Password protect everything except for webhook