20 lines
441 B
Ruby
20 lines
441 B
Ruby
|
class AddRatingToRecipe < ActiveRecord::Migration[5.0]
|
||
|
class Recipe < ActiveRecord::Base
|
||
|
end
|
||
|
|
||
|
class Log < ActiveRecord::Base
|
||
|
end
|
||
|
|
||
|
def change
|
||
|
add_column :recipes, :rating, :float
|
||
|
|
||
|
Recipe.reset_column_information
|
||
|
Log.reset_column_information
|
||
|
|
||
|
Recipe.all.each do |r|
|
||
|
r.rating = Log.where(user_id: r.user_id).where(source_recipe_id: r).where('rating IS NOT NULL').average(:rating)
|
||
|
r.save!
|
||
|
end
|
||
|
end
|
||
|
end
|