Вопрос

I just started a new spree application. I generated the project, installed capistrano and other gems.

When I run rake db:create (and any other task) I get (using --trace)

rake aborted!
ActiveRecord::ConnectionNotEstablished
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:398:in `retrieve_connection'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:168:in `retrieve_connection'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:142:in `connection'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/activerecord-3.2.3/lib/active_record/model_schema.rb:228:in `columns'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/activerecord-3.2.3/lib/active_record/model_schema.rb:248:in `column_names'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/rd_searchlogic-3.0.1/lib/searchlogic/named_scopes/ordering.rb:61:in `ordering_condition_details'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/rd_searchlogic-3.0.1/lib/searchlogic/named_scopes/ordering.rb:52:in `method_missing'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/spree_core-0.40.0/lib/spree_core/find_by_param.rb:105:in `<class:Base>'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/spree_core-0.40.0/lib/spree_core/find_by_param.rb:104:in `<top (required)>'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `block in require'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:236:in `load_dependency'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/spree_core-0.40.0/lib/spree_core.rb:47:in `<top (required)>'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/spree-0.40.0/lib/spree.rb:1:in `require'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/spree-0.40.0/lib/spree.rb:1:in `<top (required)>'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.3/lib/bundler/runtime.rb:68:in `require'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.3/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.3/lib/bundler/runtime.rb:66:in `each'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.3/lib/bundler/runtime.rb:66:in `block in require'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.3/lib/bundler/runtime.rb:55:in `each'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.3/lib/bundler/runtime.rb:55:in `require'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.3/lib/bundler.rb:119:in `require'
/home/dever/code/corsisulweb_it/config/application.rb:13:in `<top (required)>'
/home/dever/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/home/dever/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/home/dever/code/corsisulweb_it/Rakefile:5:in `<top (required)>'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load_rakefile'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:501:in `raw_load_rakefile'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:82:in `block in load_rakefile'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:81:in `load_rakefile'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:65:in `block in run'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/home/dever/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>'
/home/dever/.rvm/gems/ruby-1.9.3-p125/bin/rake:19:in `load'
/home/dever/.rvm/gems/ruby-1.9.3-p125/bin/rake:19:in `<main>'

Of course I configured config/database.yml properly (I share the same db user on my devbox).

This is the Gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.3'
gem 'mysql2', :groups => [:development, :test]

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  gem 'therubyracer', :platform => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

group :development do
  gem 'capistrano'
end

group :production do
  gem 'pg'
end

gem 'spree'

And this is the config/database.yml

# MySQL.  Versions 4.1 and 5.0 are recommended.
# 
# Install the MYSQL driver
#   gem install mysql2
#
# Ensure the MySQL gem is defined in your Gemfile
#   gem 'mysql2'
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: project_it_development
  pool: 5
  username: dever
  password: dever
  socket: /var/run/mysqld/mysqld.sock

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: project_it_test
  pool: 5
  username: dever
  password: dever
  socket: /var/run/mysqld/mysqld.sock

production:
  adapter: postgres
  encoding: utf8
  reconnect: false
  database: project_it
  pool: 5
  username: user-production
  password: pwd-user-production
  socket: /var/run/mysqld/mysqld.sock

I ran bundle --without production since I'm using mysql on local machine and can't compile the gem pg properly.

I can login using the credentials with the mysql client. What can be wrong here?

Это было полезно?

Решение

It seems that you are using an old version spree_core-0.40.0/lib/spree_core/find_by_param.rb:104:in

Try specifying it in the gemfile like

gem 'spree', '1.1.0'

Then install the new version and\or clean the old ones.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top