Search code examples
ruby-on-railsspreespree-paypal-expressspreedly

Ruby on rails Spree commerce rake aborted


I am working with spree commerce in ruby on rails. But I am getting error, when executing this command "bundle exec rails g spree_fancy:install". What I am doing wrong?. Please help me. Thanks in advance.

Here is my error:

 moududhassan@moududhassan-HP-ProBook-450-G1:~/SpreeProject/banglashop$ bundle exec rails g spree_fancy:install
      append  vendor/assets/javascripts/spree/frontend/all.js
      insert  vendor/assets/stylesheets/spree/frontend/all.css
         run  bundle exec rake railties:install:migrations FROM=spree_fancy from "."
Would you like to run the migrations now? [Y/n] n
Skipping rake db:migrate, don't forget to run it!
moududhassan@moududhassan-HP-ProBook-450-G1:~/SpreeProject/banglashop$ bundle exec rake db:migrate
[WARNING] You are not setting Devise.secret_key within your application!
You must set this in config/initializers/devise.rb. Here's an example:

Devise.secret_key = "ccbb0e6f45b7b7e4eea82ab3f24dab317816ad6b7bf3a2cd10b0879b52bbbfb83d0b2be34cdffb19672ada6fb8aa2d91f142"
== 20150214044609 AddSliderTaxonsAndApplyThem: migrating ======================
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

PG::UndefinedTable: ERROR:  relation "spree_taxonomy_translations" does not exist
LINE 5:                WHERE a.attrelid = '"spree_taxonomy_translati...
                                          ^
:               SELECT a.attname, format_type(a.atttypid, a.atttypmod),
                     pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
                FROM pg_attribute a LEFT JOIN pg_attrdef d
                  ON a.attrelid = d.adrelid AND a.attnum = d.adnum
               WHERE a.attrelid = '"spree_taxonomy_translations"'::regclass
                 AND a.attnum > 0 AND NOT a.attisdropped
               ORDER BY a.attnum
/home/moududhassan/SpreeProject/banglashop/db/migrate/20150214044609_add_slider_taxons_and_apply_them.spree_fancy.rb:4:in `up'
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  relation "spree_taxonomy_translations" does not exist
LINE 5:                WHERE a.attrelid = '"spree_taxonomy_translati...
                                          ^
:               SELECT a.attname, format_type(a.atttypid, a.atttypmod),
                     pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
                FROM pg_attribute a LEFT JOIN pg_attrdef d
                  ON a.attrelid = d.adrelid AND a.attnum = d.adnum
               WHERE a.attrelid = '"spree_taxonomy_translations"'::regclass
                 AND a.attnum > 0 AND NOT a.attisdropped
               ORDER BY a.attnum
/home/moududhassan/SpreeProject/banglashop/db/migrate/20150214044609_add_slider_taxons_and_apply_them.spree_fancy.rb:4:in `up'
PG::UndefinedTable: ERROR:  relation "spree_taxonomy_translations" does not exist
LINE 5:                WHERE a.attrelid = '"spree_taxonomy_translati...
                                          ^
/home/moududhassan/SpreeProject/banglashop/db/migrate/20150214044609_add_slider_taxons_and_apply_them.spree_fancy.rb:4:in `up'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

My gem files are:

gem 'rails', '4.1.8'
   gem 'pg'
   gem 'sass-rails', '~> 4.0.3'
   gem 'uglifier', '>= 1.3.0'
   gem 'coffee-rails', '~> 4.0.0'
   gem 'jquery-rails'
   gem 'turbolinks'
   gem 'jbuilder', '~> 2.0'
   gem 'sdoc', '~> 0.4.0',          group: :doc
   gem 'spring',        group: :development
gem 'spree', git: 'https://github.com/spree/spree.git', branch: '2-4-stable'
gem 'spree_gateway', github: 'spree/spree_gateway', branch: '2-4-stable'
gem 'spree_auth_devise', github: 'spree/spree_auth_devise', branch: '2-4-stable'
gem 'spree_paypal_express', github: 'spree-contrib/better_spree_paypal_express', branch: '2-4-stable'
gem 'spree_i18n', github: 'spree-contrib/spree_i18n', branch: '2-4-stable'
gem 'spree_static_content', github: 'spree-contrib/spree_static_content', branch: '2-4-stable'
gem 'spree_fancy', :github => 'spree/spree_fancy', :branch => '2-4-stable'
gem 'spree_mail_settings', github: 'spree-contrib/spree_mail_settings', branch: '2-4-stable'

My database.yml is:

default: &default
adapter: postgresql
encoding: unicode
database: hairdom_test
port: 5432
host: localhost


pool: 5
  username: postgres
  password: 007rajob
  development:
  <<: *default
  database: hairdom_test
  test:
  <<: *default
  database: hairdom_test

  production:
  <<: *default
  database: hairdom_test

And when I run this project in local host it shows:

enter image description here


Solution

  • The bundle exec rails g spree_fancy:install error you're having is because your spree_i18n migrations were not run first. You can tell this because the error message is referencing translation tables.

    You'll have to either fix the order the migrations are attempting to run in so that spree_i18n's run before others or could try to comment spree_i18n out of the Gemfile until after you run your migrations.

    The error message you see when visiting localhost:3000 is a pending migrations error, and as it says you need to run rake db:migrate to run them. Depending on your situation you may also need to rake railties:install:migrations before running rake db:migrate to ensure all your extension migrations we're copied to your application.