Maintenance::Atom::DeleteLegacyReasonGroupsTask

Source code
# frozen_string_literal: true

# Deletes a fixed list of legacy ReasonGroups superseded by the Atom import (TASK-93058).
# Uses #destroy! (not a raw delete) so ReasonGroup's `dependent: :destroy` associations
# (reason_group_to_countries, reason_group_to_tree_nodes, reasons, mappers) cascade cleanly.

class Maintenance::Atom::DeleteLegacyReasonGroupsTask < MaintenanceTasks::Task
  include DatadogTrace

  IDS = %w[
    60c135db-dea9-5486-93c7-7e72b767b2f2
    3cf605c3-574c-5164-95d6-3e4d528664ac
    61f6c8c7-e8a7-516f-ba34-c5ad179d2ee0
    0f675f1f-703d-5828-9c50-da0a740c6be8
    a78f354f-cefc-5a43-a66a-1cd4e86e04cc
    bf090dfc-f2c0-54d3-aeb9-ead9c6a737d1
    43fcd46d-6e11-564b-b47e-1687794c937d
    83d35176-b3d1-5c06-9981-750fd6834ae3
    23991cf7-e404-518d-bb38-78fcb3e1e535
    be9133aa-d5f3-5d16-9d0a-b58e126e5a79
    5acba886-bbd4-56ff-9efe-450941f1b45f
    fad3f023-a3c3-5146-af66-827c89f69bbb
    17e9e2d8-219f-568e-a3a7-80eecb3c780c
    b6b96c37-797f-5142-a2c0-a573cd1314cf
    41c261ed-ecbd-551f-a20a-095ccb5d9f67
    88972455-e136-51d5-8962-2b2983db0986
    37cf4112-5651-55f2-97e6-628132bd8984
    46553f45-5c31-501c-a902-18b970e9bfe9
    5d5566b4-7e6e-5e8c-aae2-1f09df15232f
    18ea8c4a-2675-5ae9-83be-93070a6e6b99
    28f16500-cd4a-50bd-99b7-91251457b6e3
    3e83d1cd-40cd-5d86-a0d4-b229412c808f
    310537ad-dc79-53b9-b4e9-1fbe8305b871
    26e7aeba-963f-51d2-8714-f64021b05014
    11974ca7-c4c4-5c7c-a2c5-f338839f8b0a
    85239b9c-1b92-5343-a51f-6858ad546775
    6395ef44-d663-5e0b-adfd-c6eda5e3c5e3
    1a80587d-afb9-56ca-8bad-d21ddb4bfece
    d99a2237-6cfd-56d3-a4ad-e0b49bab3513
    f1cf07fc-eafd-5749-84e7-a3f29fb08a9e
    0bb054a9-0412-58d5-82cf-d17e1558da99
    cc9cc728-00f5-52de-92de-86a2c022a9b4
    7b1436ea-532a-586e-8432-660328e167a9
    56746190-4b8b-5ac3-824c-41eae8e3f797
    957c3255-f309-56e3-8fa1-1d144939ae61
    5792ba49-9427-54ba-a7f0-fef12fac4b18
    63a201c1-2948-5b2d-b2ca-b46dc7644115
    d84d92c0-5814-5a4e-aa2f-353cdbb0946d
    d4d212ec-81bb-5ca6-942a-8c38a13ef68a
    a6c652de-74c7-5187-baeb-d88c10ebb59b
    aba2aaf7-1664-55c5-9a8e-29f8f797118c
    a533defb-4a6c-514d-8963-6c34beb087af
    14c8cd82-6398-5a8e-98c4-a8a80bdc55f1
    8d4fe351-eff6-5f77-a459-3c3c672c378b
    191c6148-45ac-5832-961c-e99e44b4debd
    be7eec4b-8f5e-5467-b3d3-1b4cfb1fcee5
    fa74d5c8-54d5-5255-9372-5cba10526ff0
    dc68f9c4-f97b-5d4b-93b7-062bae580be8
    a85c237a-2848-5997-a2f5-613e4c794324
    dbd86c25-0bb4-5bb8-aa1d-b6dece073605
    6501b96f-6bb7-51c7-a311-4345690dd0d0
    50c0c1e4-6fc6-5d2b-b41c-b5c8e1e7ad84
    2a0a6036-ac75-5fd5-9a9b-22a602866e62
    bc00faa2-78cd-52c2-ad4c-0e054eac1928
    0156f537-161b-593f-b204-3f6314398b01
    14bde413-ee15-547b-b7cc-9310f0ee6d34
    73106f7f-16f6-5541-beeb-3d7b552a0bcc
    0b0a4606-1242-50d5-98f3-19982d3499f2
    cc7d65b2-773f-5dd4-a51a-6b7b56435fcc
    51b545df-b98d-5878-8ae0-501b506a7592
    81f44e92-4ea8-5771-b078-777448119f85
    5a77299c-2d7a-5d99-868f-57a15810770c
    f733545a-3c51-55fe-9019-b1f3fcc745f2
    768e9431-58ce-572b-8d68-4e50a3f754a5
    6b3dfed4-2b2c-5fd4-a6c8-3e8f03571fb6
    9fa0f247-d6e3-591f-a6a8-e5549179a967
    d1373bc1-b098-5406-989f-dc727dc76936
    2753240a-233f-5345-bf1e-2acc316c4379
    07c53916-6ea1-5fb7-bc6e-2c5b5afc4a94
    083da68f-6d82-5b62-9065-aa29711df8d2
    e32d8c21-143a-5302-8083-7efc0a569073
    7b91579a-c24b-52d6-bcad-dd9e51f22860
    27eedeb7-df87-5579-912b-8b777a319e33
    0ce8074d-f75f-5dd9-b5e4-e913feeda16b
    a78bee8c-edee-5306-b16e-9b8f81f42c1a
    59372165-8695-541a-8608-19c186fd6330
    9b0f45ac-0f29-54cd-b95c-e582af717471
    b54948e8-0efb-5d92-9d74-71c88174fa47
    8803dc00-2ef1-5595-b64e-3309b70ad262
    6dc4e81d-2043-50f9-a347-a5daaf69929e
    3eed8c72-bdcb-5744-9f20-7f8eaee83ade
    85d8b228-5282-5da2-9719-2d364e79e74c
    30b965a3-ce7a-5d15-b0d5-4b6abb40e7d0
    767d89a9-4eb9-54db-9650-3070f71d0cce
    de0113a3-4373-5fcb-91f9-a624b2083a32
    b7389080-0982-5c3c-ac13-4b14406c716d
    c16c6f63-6292-4aee-8271-2614b6f37a9e
    a3a35638-c80f-45e7-8642-306198638e4c
    07545e55-36c4-4e87-a754-6ac4db07a4c2
    387b0c06-0ce6-4a0b-88e0-959e02f366af
  ].freeze

  def collection
    ReasonGroup.where(id: IDS)
  end

  def process(reason_group)
    with_trace(tags: { reason_group_id: reason_group.id }) do
      Rails.logger.info("Deleting ReasonGroup with ID: #{reason_group.id}")
      reason_group.destroy!
    end
  end
end

Previous Runs

Succeeded

Processed 86 out of 86 items (100%).

Ran for half a minute, finished .

Metadata:
user_id
-1