Remove incorrect ticket work item type hierarchy restrictions
What does this MR do and why?
Two incorrect hierarchy restriction records were added in !127482 (merged). So, we are deleting ALL records that do not match what we have defined for the ticket type in https://gitlab.com/gitlab-org/gitlab/-/blob/99659b546cfc7df1f55dd6421d7f70309feafd08/lib/gitlab/database_importers/work_items/hierarchy_restrictions_importer.rb#L54
Might be an overkill, but I used a generic approach to make sure EVERY restriction related to the ticket type is deleted, except for the one defined in the restriction importer at https://gitlab.com/gitlab-org/gitlab/-/blob/395e7d9e3e1afc6f3c8b7e45c7c770f37c0b47f3/lib/gitlab/database_importers/work_items/hierarchy_restrictions_importer.rb#L54
Query plans
DELETE invalid restriction records
https://console.postgres.ai/gitlab/gitlab-production-main/sessions/39921/commands/123169
DELETE FROM
work_item_hierarchy_restrictions
WHERE
(
parent_type_id = 9
OR child_type_id = 9
)
AND child_type_id != 5
Migration output
UP
main: == [advisory_lock_connection] object_id: 136580, pg_backend_pid: 12166
main: == 20250528143824 RemoveTicketWorkItemTypeWrongHierarchyRestrictions: migrating
main: == 20250528143824 RemoveTicketWorkItemTypeWrongHierarchyRestrictions: migrated (0.0414s)
main: == [advisory_lock_connection] object_id: 136580, pg_backend_pid: 12166
ci: == [advisory_lock_connection] object_id: 136580, pg_backend_pid: 12167
ci: == 20250528143824 RemoveTicketWorkItemTypeWrongHierarchyRestrictions: migrating
ci: -- The migration is skipped since it modifies the schemas: [:gitlab_main].
ci: -- This database can only apply migrations in one of the following schemas: [:gitlab_ci, :gitlab_ci_cell_local, :gitlab_internal, :gitlab_shared].
ci: == 20250528143824 RemoveTicketWorkItemTypeWrongHierarchyRestrictions: migrated (0.0115s)
ci: == [advisory_lock_connection] object_id: 136580, pg_backend_pid: 12167
DOWN
main: == [advisory_lock_connection] object_id: 136280, pg_backend_pid: 12537
main: == 20250528143824 RemoveTicketWorkItemTypeWrongHierarchyRestrictions: reverting
main: == 20250528143824 RemoveTicketWorkItemTypeWrongHierarchyRestrictions: reverted (0.0114s)
main: == [advisory_lock_connection] object_id: 136280, pg_backend_pid: 12537
ci: == [advisory_lock_connection] object_id: 136280, pg_backend_pid: 12549
ci: == 20250528143824 RemoveTicketWorkItemTypeWrongHierarchyRestrictions: reverting
ci: -- The migration is skipped since it modifies the schemas: [:gitlab_main].
ci: -- This database can only apply migrations in one of the following schemas: [:gitlab_ci, :gitlab_ci_cell_local, :gitlab_internal, :gitlab_shared].
ci: == 20250528143824 RemoveTicketWorkItemTypeWrongHierarchyRestrictions: reverted (0.0128s)
ci: == [advisory_lock_connection] object_id: 136280, pg_backend_pid: 12549
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #543102 (closed)