[英]Spree Could not find table 'spree_countries'
我已經在Rails 3.2.17上克隆了一個現有的Spree項目。
Rake db:create可以運行,但是在運行遷移,種子或Rails時,我遇到了此錯誤。
Could not find table 'spree_countries'
我努力了
rake db:reset
和各種狂歡生成器,但都返回相同的錯誤。
這是當我像OP一樣對Rake做任何事情時遇到的錯誤:
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:
relation "spree_countries" does not exist
在Spree中設置國家/地區最常見的解決方案如下:
配置/初始化/ spree.rb
Spree.config do |config|
country = Spree::Country.find_by_name('Mexico')
config.default_country_id = country.id if country.present?
end
在刪除數據庫並嘗試重新創建數據庫之前,此方法將正常工作, 並且不要覆蓋config / initializers / spree.rb 。
Overwrite .../config/initializers/spree.rb? (enter "h" for help) [Ynaqdh] n
重新創建數據庫時,“國家/地區”表不可用,並且您遇到“ 找不到表'spree_countries”錯誤。 這很討厭,因為導致該錯誤的初始化代碼可以工作一段時間,並且僅在很久以后,當您決定刪除數據庫時,該錯誤才會出現。
在Google網上論壇上建議的代碼是查找country_id並為其分配-您可以puts
ID放在外面或在spree_countries上使用SQL查詢。
配置/初始化/ spree.rb
Spree.config do |config|
# Sets default country to Mexico
config.default_country_id = 157
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.