[英]Ruby on rails Spree commerce rake aborted
我正在使用Rails中的ruby進行瘋狂交易。 但是執行此命令“ bundle exec rails g spree_fancy:install”時出現錯誤。 我做錯了什么? 請幫我。 提前致謝。
這是我的錯誤:
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)
我的gem文件是:
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'
我的database.yml是:
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
當我在本地主機中運行該項目時,它顯示:
bundle exec rails g spree_fancy:install
您遇到的錯誤是因為未先運行spree_i18n遷移。 您可以告訴我們,因為錯誤消息正在引用轉換表。
您必須修復遷移嘗試運行的順序,以便先運行spree_i18n,或者嘗試在運行遷移之前將spree_i18n從Gemfile中注釋掉。
您訪問localhost:3000時看到的錯誤消息是一個掛起的遷移錯誤,並且它說您需要運行rake db:migrate
才能運行它們。 根據您的情況,在運行rake db:migrate
之前,您可能還需要rake railties:install:migrations
,以確保我們將所有擴展遷移都復制到您的應用程序中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.