我试图将我的第一个应用程序部署到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 'rubygems' 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失败
发布评论