将狂欢升级到1.0.0

Mat*_*eri 5 ruby-on-rails spree

我正在尝试将Spree从0.7.0升级到1.0.0,我在我的gemfile中添加了

gem 'spree', '1.0.0'
Run Code Online (Sandbox Code Playgroud)

并通过在routes.rb中添加路由来安装路由

Store::Application.routes.draw do
  mount Spree::Core::Engine, :at => "/"
end
Run Code Online (Sandbox Code Playgroud)

之后,我覆盖了一些控制器和模型,并以这种方式添加了命名空间Spree ::

Spree::ProductsController.class_eval do
Run Code Online (Sandbox Code Playgroud)

现在我坚持这个错误

Mysql2::Error: Table 'store_development.spree_product_groups' doesn't exist: SHOW FIELDS FROM `spree_product_groups`
Run Code Online (Sandbox Code Playgroud)

这是完全正确的,因为表不存在,但它的名称没有spree_前缀,我怎么能快速修复它?我想在数据库中添加了一些新的列或表,我该怎么检查呢?是否有安全升级的程序?

Rya*_*igg 5

您是否为Spree 1.0运行了新的迁移?

rake railties:install:migrations
rake db:migrate
Run Code Online (Sandbox Code Playgroud)

这些将被复制的迁移将正确地重命名您的表.