【问题标题】:Trying to push Rails 4.2.1 app to Heroku sqlite error尝试将 Rails 4.2.1 应用程序推送到 Heroku sqlite 错误
【发布时间】:2015-06-19 00:32:09
【问题描述】:

所以我阅读了关于类似问题的帖子,但仍然感到困惑。这是我的 gem 文件。

我将 gemfile 中的所有 sqlite3 gem 更改为 gem 'pg', '0.7.0' 我将 database.yml 文件中的所有 sqlite3 更改为 postgresql。我做了一个捆绑安装,然后是 heroku 创建,然后是 git push heroku master,这在尝试安装 sqlite3 时遇到了多个问题。

【问题讨论】:

  • 你能包含你的gem文件吗?通常,您不想为不同的环境替换 gem,只需将它们捆绑在正确的组下即可。因此,例如,您可以在同一个 gemfile 中拥有一个使用 sqlite 的开发组和一个使用 pg 的生产组。
  • source 'rubygems.org' gem 'rails', '4.2.2' gem 'sass-rails', '5.0.2' gem 'uglifier', '2.5.3' gem 'coffee- rails','4.1.0' gem 'jquery-rails','4.0.3' gem 'turbolinks','2.3.0' gem 'jbuilder','2.2.3' gem 'sdoc','0.4.0' , group: :doc group :development, :test do gem 'pg', '0.17.1' gem 'byebug', '3.4.0' gem 'web-console', '2.0.0.beta3' gem 'spring' , '1.1.3' end group :production do gem 'pg', '0.17.1' gem 'rails_12factor', '0.0.2' end
  • 抱歉,请使用格式正确的 gemfile 更新您的 OP。是的,在开发/测试中使用 sqlite 并在生产中使用 pg 是很常见的,但是您不需要从 gemfile 中删除 sqlite 来执行此操作 - 它应该在像 group :development, :test do 这样的组中,因此它用于开发和测试。
  • 我读到 Heroku 不使用 sqlite3 所以我改用 postgresql。
  • 我做到了。我将 sqlite3 gem 更改为 pg gem。不知道如何更改操作的格式。

标签: ruby-on-rails heroku gem


【解决方案1】:

在开发和测试中使用 SQLite 以及在生产中使用不同的数据库(如 PostgreSQL)是很常见的。 Rails 让这一切变得容易。

在您的 Gemfile 中,您可以使用组来指定应在每个环境中安装哪些 gem。因此,在这种情况下,您的 gemfile 将包含以下内容:

group :development, :test do
  gem 'sqlite3',     '1.3.9'
end

group :production do
  gem 'pg',             '0.17.1'
end

第一次添加生产 gem 时,您应该运行:

bundle install --without production

更新您的gemfile.lock

同样,在database.yml 中,您应该定义用于开发和测试的 sqlite 和用于生产的 postgresql。这是一个例子:

default: &default
  adapter: sqlite3
  pool: 5
  timeout: 5000

development:
  <<: *default
  database: db/development.sqlite3

test:
  <<: *default
  database: db/test.sqlite3

production:
  database: signup
  adapter: postgresql
  pool: 5
  timeout: 5000
  username: xxxx
  password: yyyy

最后,确保在尝试部署到 Heroku 之前将 gemfile 更改提交到生产环境。

【讨论】:

  • 感谢史蒂夫,问题是我在部署到 Heroku 之前没有进行提交。我单独留下了 gemfile 和 database.yml。再次感谢。
猜你喜欢
  • 2012-04-18
  • 1970-01-01
  • 2015-01-01
  • 2010-12-30
  • 1970-01-01
  • 2015-03-13
  • 1970-01-01
  • 2013-03-28
  • 2021-11-22
相关资源
最近更新 更多