使用 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"
相关文章