你的移徙档案20110623001141_combine_items_in_cart.rb没有适当的分类包裹,此外,该档案中还有相应的方法。
class CombineItemsInCart < ActiveRecord::Migration
def self.up
# replace multiple items for a single product in a cart with a single item
Cart.all.each do |cart|
# count the number of each product in the cart
sums = cart.line_items.group(:product_id).sum(:quantity)
sums.each do |product_id, quantity|
if quantity >1
# remove individual items
cart.line_items.where(:product_id=>product_id).delete_all
# replace with a single item
cart.line_items.create(:product_id=>product_id, :quantity=>quantity)
end
end
end
end
def self.down
# split items with quantity>1 into multiple items
LineItem.where("quantity>1").each do |line_item|
# add individual items
line_item.quantity.times do
LineItem.create :cart_id=>line_item.cart_id,
:product_id=>line_item.product_id, :quantity=>1
end
# remove original item
line_item.destroy
end``
end
end
您在2011年6月26日203934年1月1日至2007年6月30日期间似乎也有重复。 在2011年6月26日181924年1月1日之前增加一个栏,添加一个栏目,增列一个栏目。 删除一条,再次尝试移民。