Michael Durrant
Michael Durrant

Reputation: 96484

Heroku db pull error, it's looking for sqlite3 but I have postgres, how to change this?

I have taps installed. I get the following error. This is my first pull like this from Heroku so I am unsure of the exact format

$ heroku db:pull postgres://postgres:@localhost/prod_20120717

 !    Taps Load Error: cannot load such file -- sqlite3
 !    You may need to install or update the taps gem to use db commands.
 !    On most systems this will be:
 !    
 !    sudo gem install taps

I have created an empty prod_20120717 in postgres to receive the data but the problem seems to be that taps is looking for sqlite3, not postgres.

My postgres user is postgres, no pw.

My database.yml file only has postgres adapter defined.

It seems like an adapter name issue. I have also tried postgresql in both of the places where I have postgres.

Upvotes: 1

Views: 556

Answers (3)

Michael Durrant
Michael Durrant

Reputation: 96484

The answer was that I actually didn't have sqlite3 installed (I am on a Mac and my app just uses postgres) and I had to install it (sqlite3).

[sudo] gem install sqlite3

I didn't need it in my Gemfile I just needed it installed on my machine.

Upvotes: 1

Yule
Yule

Reputation: 9764

Just a hunch, but i think sqlite is a requirement of taps:

https://github.com/ricardochimal/taps/blob/master/lib/taps/cli.rb line 10:

require 'sqlite3'

I don't think this is to do with your actual app, but more the workings of taps itself, perhaps install the gem and go from there?

Upvotes: 5

Dty
Dty

Reputation: 12273

Do you have your gemfile setup like this?

group :production do
  gem 'pg'
end

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

Upvotes: 0

Related Questions