cc4f1e9c13
Introduce an abstraction that is going to be used to propose models for other models that can accept propositions.
16 lines
725 B
Ruby
16 lines
725 B
Ruby
class CreatePropositionsForExistingEvents < ActiveRecord::Migration
|
|
def up
|
|
events = execute 'SELECT * FROM events'
|
|
|
|
events.each do |event|
|
|
execute "INSERT INTO propositions (proposer_id, proposition_accepting_id, proposition_accepting_type, proposable_id, proposable_type, status, created_at, updated_at)
|
|
VALUES (#{event['user_id']}, #{event['track_id']}, 'Track', #{event['id']}, 'Event', #{event['state']}, '#{event['created_at']}', '#{event['updated_at']}')"
|
|
end
|
|
end
|
|
|
|
def down
|
|
event_ids = execute('SELECT * FROM events').map { |event| event['id'] }
|
|
execute "DELETE FROM propositions WHERE proposable_id IN (#{event_ids.join(', ')}) AND proposable_type = 'Event'"
|
|
end
|
|
end
|