class AddLatestPostAtToStream < ActiveRecord::Migration[7.1] def up add_column :streams, :latest_post_at, :datetime Stream.all.each do |stream| if stream.updates.empty? stream.latest_post_at = stream.created_at else stream.latest_post_at = stream.updates.order(created_at: :desc).first.created_at end stream.save! end change_column_null :streams, :latest_post_at, false end def down remove_column :streams, :latest_post_at, :datetime end end