UPDATE activity SET actor_id = ( SELECT p.pusher_id FROM push_events p WHERE p.repo_id = activity.repo_id AND p.pusher_id IS NOT NULL AND p.before_sha = json_extract(activity.data, '$.before') AND p.after_sha = json_extract(activity.data, '$.after') AND (p.ref = 'refs/heads/' || json_extract(activity.data, '$.ref') OR p.ref = 'refs/tags/' || json_extract(activity.data, '$.ref')) LIMIT 1 ) WHERE actor_id IS NULL AND kind IN ('push', 'ref_created', 'ref_deleted') AND EXISTS ( SELECT 1 FROM push_events p WHERE p.repo_id = activity.repo_id AND p.pusher_id IS NOT NULL AND p.before_sha = json_extract(activity.data, '$.before') AND p.after_sha = json_extract(activity.data, '$.after') AND (p.ref = 'refs/heads/' || json_extract(activity.data, '$.ref') OR p.ref = 'refs/tags/' || json_extract(activity.data, '$.ref')) );