无法推送到 Heroku bc sqlite 并且原始答案不起作用



以下是不起作用的原始答案:可以';不要把我的代码推给英雄大师(TLDR=Heroku推送失败,抱怨sqlite没有安装bc Heroku与sqlite不兼容。)

对答案给出的修复都不能解决问题(甚至不能改变错误):

  • 指定生产pg宝石?检查
  • 是否运行捆绑包安装?检查
  • 提交了我的更改(并调用git状态以确保)?检查
  • 更新database.yml并重复捆绑和提交步骤?检查
  • 更新Gemfile.lock以将另一个项目与sqlite/pg混合匹配(这对Heroku来说很好)?检查

我收到了与原始海报相同的错误信息。SO上有几个副本,但到目前为止还没有新的有用信息。

我不知所措。我错过了什么?

如果有人想看的话,我推了一次回购:https://github.com/sidhene/mytwetter

规格,以备不时之需:ruby-v=ruby 2.0.0p576rails-v=rails 4.0.0OSX

Heroku不太容易支持sqlite数据库。这是强烈推荐的dis,会给你带来很多问题(比如这个)。请使用Postgress作为你的数据库。

此外,您的gemfile没有识别出postgress。您需要:

Gemfile:

gem 'pg'

和数据库。yml:

development:
  adapter: postgresql
  database: <your-database-name>
  pool: 5
  username: <your-database-username>
  password: <your-database-password>

更新:

如果你试图使用Sqlite和Postgress的组合,那么添加Postgress作为生产数据库,并将Sqlite作为开发数据库,如下所示:

development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000
production:
  adapter: postgresql
  database: <your-database-name>
  pool: 5
  username: <your-database-username>
  password: <your-database-password>

您的Gemfile中仍然需要pg宝石。您需要将sqlite添加到正在开发的Gemfile中,如下所示:

group :development, :test do
  # Add Sqlite
  gem 'sqlite3'
  # Use RSpec for testing: https://github.com/rspec/rspec-rails
  gem 'rspec-rails', '~> 2.0'
  # Use Factory Girl for Active Record sample instance object creation: https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md
  gem 'factory_girl_rails'
  # Use FFaker for random seed generation: https://github.com/EmmanuelOga/ffaker
  gem 'ffaker'
  # Use Shoulda Matchers for validation and association testing: https://github.com/thoughtbot/shoulda-matchers
  gem 'shoulda-matchers'
end

这将在Mac上使用Sqlite进行开发,然后在heroku中进行postgres。

已解决!谢谢你看我的承诺。由于git问题,我换了另一个目录,没有意识到我仍在编辑旧文件。这就解释了为什么我在新目录中所做的pg-gem调整都没有生效:O

答案基本上和那个从错误分支推送的人一样,只是在我的情况下是目录(我只有一个分支)。

我实际上遇到了Git问题!确保无论何时推送到Heroku,您都在"Master"分支上!

最新更新