Retrospring/db/migrate/20220216150127_move_smiles_...

20 lines
1.1 KiB
Ruby

class MoveSmilesToAppendables < ActiveRecord::Migration[6.1]
def up
execute "INSERT INTO appendables (type, user_id, parent_id, parent_type, content, created_at, updated_at)
(SELECT 'Appendable::Reaction' AS type, user_id, answer_id as parent_id, 'Answer' as parent_type, '🙂' AS content, created_at, updated_at FROM smiles)"
execute "UPDATE notifications n
SET target_type = 'Appendable', target_id = a.id
FROM appendables a, smiles s
WHERE n.target_type = 'Smile' AND s.id = n.target_id AND a.type = 'Appendable::Reaction' AND a.parent_id = s.answer_id"
execute "INSERT INTO appendables (type, user_id, parent_id, parent_type, content, created_at, updated_at)
(SELECT 'Appendable::Reaction' AS type, user_id, comment_id as parent_id, 'Comment' as parent_type, '🙂' AS content, created_at, updated_at FROM comment_smiles)"
execute "UPDATE notifications n
SET target_type = 'Appendable', target_id = a.id
FROM appendables a, comment_smiles s
WHERE n.target_type = 'CommentSmile' AND s.id = n.target_id AND a.type = 'Appendable::Reaction' AND a.parent_id = s.comment_id"
end
end