class MigrateOkuboToActiveRecall
Constants
- DECK_SQL
- ITEM_SQL
Public Class Methods
down()
click to toggle source
# File lib/generators/active_recall/templates/migrate_okubo_to_active_recall.rb, line 27 def self.down true end
up()
click to toggle source
# File lib/generators/active_recall/templates/migrate_okubo_to_active_recall.rb, line 7 def self.up connection = ActiveRecord::Base.connection decks = connection.execute(DECK_SQL).to_a.map(&:symbolize_keys) items = connection.execute(ITEM_SQL).to_a.map(&:symbolize_keys) decks.each do |deck_attributes| deck_create_attributes = deck_attributes.except(:id, :created_at, :updated_at) deck = ActiveRecall::Deck.create!(deck_create_attributes) items.select do |item_attributes| deck_attributes[:id] == item_attributes[:deck_id] end.each do |item_attributes| item_create_attributes = item_attributes .except(:id, :created_at, :updated_at) .merge(deck_id: deck.id) ActiveRecall::Item.create!(item_create_attributes) end end end