Reputation: 31
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>
Upvotes: 0
Views: 288
Reputation:
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
Upvotes: 1
Reputation: 2564
Here's what you need to do:
Download the Command Line tools for your version of mac os from here https://developer.apple.com/downloads/index.action
Install the Command Line tools you downloaded
Restart Terminal
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.
Upvotes: 0