0

So, I am trying to change my app which runs fine locally on SQLite3 to Postgresql so I can deploy it to Heroku. I've looked at various posts and tutorials and made the adjustments to my Gem file and database.yml files but when I try to rake:db migrate, I get the error message : "Please install the postgresql adapter." I know that most users encounter this when they don't include gem 'pg' in their gemfile but I did include it.

This is the full error message I get: http://dpaste.com/hold/972379/

Can you please help? I've really looked at dozens of posts and tried every configuration.

My procfile looks like this:

web: bundle exec thin start -p $PORT

My database.yml looks like this:

development:
  adapter: postgresql
  encoding: utf8
  database: project_development
  pool: 5
  username: 
  password:

test: &TEST
  adapter: postgresql
  encoding: utf8
  database: project_test
  pool: 5
  username: 
  password:

production:
  adapter: postgresql
  encoding: utf8
  database: project_production
  pool: 5
  username: 
  password:

My gemfile looks like this:

source 'https://rubygems.org'

gem 'rails', '3.2.11'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'thin'
group :production do
gem 'pg'
end
group :development, :test do
gem 'sqlite3'
end

# Gems used only for assets and not required
# in production environments by default.

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'

One note: when I run bundle install, 'Using pg' does not come up but I think it is because it's not in production... just FYI in case it's important

EDIT: gem pg seems to run fine once in production with heroku. not sure what is going on though, since once it's deployed, it doesn't work. Here's my heroku log (I've taken out my e-mail):

2013-02-23T05:37:08+00:00 heroku[api]: Enable Logplex by [email protected]
2013-02-23T05:37:08+00:00 heroku[api]: Release v2 created by [email protected]
2013-02-23T05:37:18+00:00 heroku[slugc]: Slug compilation started
2013-02-23T05:38:28+00:00 heroku[api]: Scale to web=1 by [email protected]
2013-02-23T05:38:28+00:00 heroku[api]: Attach HEROKU_POSTGRESQL_WHITE resource by [email protected]
2013-02-23T05:38:28+00:00 heroku[api]: Release v3 created by [email protected]
2013-02-23T05:38:29+00:00 heroku[api]: Add DATABASE_URL config by [email protected]
2013-02-23T05:38:29+00:00 heroku[api]: Release v4 created by [email protected]
2013-02-23T05:38:29+00:00 heroku[api]: Add  config by [email protected]
2013-02-23T05:38:29+00:00 heroku[api]: Release v5 created by [email protected]
2013-02-23T05:38:29+00:00 heroku[api]: Release v6 created by [email protected]
2013-02-23T05:38:29+00:00 heroku[api]: Deploy cd00730 by [email protected]
2013-02-23T05:38:30+00:00 heroku[slugc]: Slug compilation finished
2013-02-23T05:38:30+00:00 heroku[web.1]: Starting process with command `bundle exec thin start -p 55861`
2013-02-23T05:38:31+00:00 heroku[web.1]: Starting process with command `bundle exec thin start -p 55416`
2013-02-23T05:38:31+00:00 app[web.1]: bash: bundle: command not found
2013-02-23T05:38:32+00:00 heroku[web.1]: Process exited with status 127
2013-02-23T05:38:34+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2013-02-23T05:38:34+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2013-02-23T05:38:34+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2013-02-23T05:38:37+00:00 app[web.1]: >> Using rack adapter
2013-02-23T05:38:37+00:00 app[web.1]: Connecting to database specified by DATABASE_URL
2013-02-23T05:38:37+00:00 app[web.1]: >> Maximum connections set to 1024
2013-02-23T05:38:37+00:00 app[web.1]: >> Thin web server (v1.5.0 codename Knife)
2013-02-23T05:38:37+00:00 app[web.1]: >> Listening on 0.0.0.0:55416, CTRL+C to stop
2013-02-23T05:38:38+00:00 heroku[web.1]: State changed from starting to up
2013-02-23T05:39:00+00:00 heroku[api]: Starting process with command `bundle exec rake db:migrate` by [email protected]
2013-02-23T05:39:02+00:00 heroku[run.3422]: Awaiting client
2013-02-23T05:39:02+00:00 heroku[run.3422]: Starting process with command `bundle exec rake db:migrate`
2013-02-23T05:39:02+00:00 heroku[run.3422]: State changed from starting to up
2013-02-23T05:39:07+00:00 heroku[run.3422]: Client connection closed. Sending SIGHUP to all processes
2013-02-23T05:39:08+00:00 heroku[run.3422]: Process exited with status 0
2013-02-23T05:39:08+00:00 heroku[run.3422]: State changed from up to complete
2013-02-23T05:39:14+00:00 app[web.1]: Started GET "/" for 67.80.190.0 at 2013-02-23 05:39:14 +0000
2013-02-23T05:39:15+00:00 app[web.1]: Processing by LooksController#index as HTML
2013-02-23T05:39:15+00:00 app[web.1]:   Rendered looks/index.html.erb within layouts/application (7.7ms)
2013-02-23T05:39:16+00:00 heroku[router]: at=info method=GET path=/ host=quiet-everglades-5513.herokuapp.com fwd="67.80.190.0" dyno=web.1 queue=0 wait=1ms connect=2ms service=1385ms status=500 bytes=643
2013-02-23T05:39:16+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=quiet-everglades-5513.herokuapp.com fwd="67.80.190.0" dyno=web.1 queue=0 wait=0ms connect=1ms service=7ms status=200 bytes=0
2013-02-23T05:39:16+00:00 app[web.1]: 
2013-02-23T05:39:16+00:00 app[web.1]:     5:   <%= stylesheet_link_tag    "application", :media => "all" %>
2013-02-23T05:39:16+00:00 app[web.1]:     8: </head>
2013-02-23T05:39:16+00:00 app[web.1]: Completed 500 Internal Server Error in 925ms
2013-02-23T05:39:16+00:00 app[web.1]:   app/controllers/looks_controller.rb:7:in `index'
2013-02-23T05:39:16+00:00 app[web.1]:     3: <head>
2013-02-23T05:39:16+00:00 app[web.1]: ActionView::Template::Error (no such file to load -- uglifier
2013-02-23T05:39:16+00:00 app[web.1]:   (in /app/app/assets/javascripts/application.js)):
2013-02-23T05:39:16+00:00 app[web.1]:   app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb___1708027661978307033_32644180'
2013-02-23T05:39:16+00:00 app[web.1]: 
2013-02-23T05:39:16+00:00 app[web.1]:     6:   <%= javascript_include_tag "application" %>
2013-02-23T05:39:16+00:00 app[web.1]: 
2013-02-23T05:39:16+00:00 app[web.1]:     7:   <%= csrf_meta_tags %>
2013-02-23T05:39:16+00:00 app[web.1]:     9: <body>
2013-02-23T05:39:16+00:00 app[web.1]:     4:   <title>Scout</title>
2
  • Have you tried removing pg from the production group and just putting it in the default group so it is always installed. Are you sure your running in the prod env when you run rake? Commented Feb 23, 2013 at 1:39
  • Hi. If I put it in the default group, I get this error (dpaste.com/hold/972650). To be honest, I'm not completely sure what you mean by running it in the prod env; I run db:migrate --trace afterwards. I know that I've followed this general procedure before with other apps and it's worked. Commented Feb 23, 2013 at 2:09

2 Answers 2

1

The log file you provided mentions another error

ActionView::Template::Error (no such file to load -- uglifier
  (in /app/app/assets/javascripts/application.js)):
app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb___1708027661978307033_32644180'

uglifier is a gem used for precompiling assets and optimizing those. On my app it is in the assets group by default, which means it won't be available in production.

I'm not entirely familiar with Heroku, but they have some information about using the asset pipeline that might be helpful. You should also make sure you are on the Heroku "Cedar" stack.

Or, if you're not using the asset pipeline, disable it

Sign up to request clarification or add additional context in comments.

Comments

0

Here's what you need to do:

  1. Download the Command Line tools for your version of mac os from here https://developer.apple.com/downloads/index.action

  2. Install the Command Line tools you downloaded

  3. Restart Terminal

  4. Run bundle install again (with the pg gem in the default group).

That should eliminate the error you are getting when installing pg. After getting it installed run rake db:migrate again and it should work.

6 Comments

Hey Austin. I really appreciate all the help. I'm running Snow Leopard. Should I just install XCode (connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/…) as the Apple dev site doesn't have any links for Snow Leopard, or can I get by just downloading any of the Command Line ones for the higher OSes
I just downloaded and installed it. Same error when I run bundle install with the 'pg' gem in the default group. Ahh
When I run find/ -name pg_config, I get "No such file or directory"
You need postgres installed on your machine to install the gem: enterprisedb.com/products-services-training/pgdownload#osx
I tried installing PostGres (stackoverflow.com/questions/2271069/…) as well as following some tutorials by installing Command Line and using Homebrew. Just running into errors everywhere. Not sure if my Mac is botched, but its strange how some other apps are able to get deployed to heroku fine when I follow these guidelines but this one can't. all it is is a simple form scaffold as well
|

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.