27 lines
906 B
Ruby
27 lines
906 B
Ruby
|
class AddTranslatedFieldsDirectlyToItems < ActiveRecord::Migration[7.1]
|
||
|
def change
|
||
|
add_column :items, :name, :string, null: false
|
||
|
add_column :items, :description, :text, null: false, default: ""
|
||
|
add_column :items, :rarity, :string, null: false, default: ""
|
||
|
|
||
|
reversible do |direction|
|
||
|
direction.up do
|
||
|
total_count = Item.count
|
||
|
saved_count = 0
|
||
|
Item.includes(:translations).find_in_batches do |items|
|
||
|
Item.transaction do
|
||
|
items.each do |item|
|
||
|
item.name = item.translation_for(:en).name
|
||
|
item.description = item.translation_for(:en).description || ""
|
||
|
item.rarity = item.translation_for(:en).rarity || ""
|
||
|
item.save!
|
||
|
end
|
||
|
saved_count += items.size
|
||
|
puts "Saved #{saved_count} of #{total_count} items"
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|