Last active
May 8, 2025 16:59
-
-
Save orangewolf/a187399d5595dc0b77e612165d0db4a7 to your computer and use it in GitHub Desktop.
DOT NTL Sipity Untangler
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Get to the right tenant, almost always step 1 in Hyku console commands | |
switch!(Account.first) | |
# There is one workflow state that we want to keep | |
Sipity::WorkflowState.find(128).update(workflow_id: 1) | |
# Find all the workflow actions for the state we just kept and move it to the first 1 workflow also | |
Sipity::WorkflowAction.where(workflow_id: 15, resulting_workflow_state_id: 128).update_all(workflow_id: 1) | |
# Find all the incorrect workflow roles and set the EntitySpecificResponsibility to have the correct role | |
Sipity::WorkflowRole.where('workflow_id <> ?', 1).each do |wr| | |
wn = Sipity::WorkflowRole.where(workflow_id: 1, role_id: wr.role_id).first | |
Sipity::EntitySpecificResponsibility.where('workflow_role_id = ?', wr.id).update_all(workflow_role_id: wn.id) | |
end | |
# Find all the incorrect workflow states and set the comments and entities to the correct states | |
Sipity::WorkflowState.where('workflow_id <> ?', 1).each do |ws| | |
wn = Sipity::WorkflowState.where(workflow_id: 1, name: ws.name).first | |
Sipity::Comment.where(workflow_state: ws.id).update_all(workflow_state: wn.id) | |
Sipity::Entity.where(workflow_state_id: ws.id).update_all(workflow_state_id: wn.id, workflow_id: 1) | |
end | |
# Find any entities with the incorrect states and set them | |
Sipity::Workflow.where('id <> ?', 1).each do |w| | |
Sipity::Entity.where(workflow_id: w.id).update_all(workflow_id: 1) | |
end | |
# If you want to test that everything was moved right before continuing, run this code: | |
# START TEST CODE | |
ActiveRecord::Base.class_eval do | |
before_destroy :log_destruction | |
private | |
def log_destruction | |
::LOGGER ||= ActiveSupport::Logger.new("/app/samvera/hyrax-webapp/tmp/imports/delete.log") | |
::LOGGER.error "#{self.class} - #{self.id} is being destroyed" | |
end | |
end | |
ActiveRecord::Base.transaction do | |
parent = Sipity::Workflow.find(15) | |
parent.destroy | |
# Rollback the transaction to prevent actual deletion | |
raise ActiveRecord::Rollback | |
end | |
# END TEST CODE | |
# This will create a file in tmp/imports/delete.log that will show what will be deleted | |
# Finally remove the now unused Workflow, its states, actions, notifiable_contexts and methods. | |
incorrect = Sipity::Workflow.find(15) | |
incorrect.destroy | |
# Test that work creation and workflow management work as expected |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Example of the delete log | |
Sipity::Workflow - 15 is being destroyed | |
Sipity::WorkflowState - 129 is being destroyed | |
Sipity::WorkflowStateAction - 479 is being destroyed | |
Sipity::WorkflowStateActionPermission - 479 is being destroyed | |
Sipity::WorkflowStateAction - 483 is being destroyed | |
Sipity::WorkflowStateActionPermission - 483 is being destroyed | |
Sipity::WorkflowAction - 129 is being destroyed | |
Sipity::WorkflowStateAction - 478 is being destroyed | |
Sipity::WorkflowStateActionPermission - 478 is being destroyed | |
Sipity::Method - 143 is being destroyed | |
Sipity::NotifiableContext - 129 is being destroyed | |
Sipity::WorkflowState - 130 is being destroyed | |
Sipity::WorkflowStateAction - 480 is being destroyed | |
Sipity::WorkflowStateActionPermission - 480 is being destroyed | |
Sipity::WorkflowStateAction - 482 is being destroyed | |
Sipity::WorkflowStateActionPermission - 482 is being destroyed | |
Sipity::WorkflowStateAction - 486 is being destroyed | |
Sipity::WorkflowStateActionPermission - 486 is being destroyed | |
Sipity::WorkflowStateAction - 493 is being destroyed | |
Sipity::WorkflowStateActionPermission - 493 is being destroyed | |
Sipity::WorkflowStateAction - 497 is being destroyed | |
Sipity::WorkflowStateActionPermission - 497 is being destroyed | |
Sipity::WorkflowStateAction - 502 is being destroyed | |
Sipity::WorkflowStateActionPermission - 502 is being destroyed | |
Sipity::WorkflowStateAction - 508 is being destroyed | |
Sipity::WorkflowStateActionPermission - 508 is being destroyed | |
Sipity::WorkflowAction - 137 is being destroyed | |
Sipity::WorkflowStateAction - 509 is being destroyed | |
Sipity::WorkflowStateActionPermission - 509 is being destroyed | |
Sipity::WorkflowStateAction - 510 is being destroyed | |
Sipity::WorkflowStateActionPermission - 510 is being destroyed | |
Sipity::WorkflowStateAction - 511 is being destroyed | |
Sipity::WorkflowStateActionPermission - 511 is being destroyed | |
Sipity::WorkflowStateAction - 512 is being destroyed | |
Sipity::WorkflowStateActionPermission - 512 is being destroyed | |
Sipity::Method - 152 is being destroyed | |
Sipity::NotifiableContext - 137 is being destroyed | |
Sipity::WorkflowState - 131 is being destroyed | |
Sipity::WorkflowStateAction - 481 is being destroyed | |
Sipity::WorkflowStateActionPermission - 481 is being destroyed | |
Sipity::WorkflowStateAction - 484 is being destroyed | |
Sipity::WorkflowStateActionPermission - 484 is being destroyed | |
Sipity::WorkflowAction - 130 is being destroyed | |
Sipity::Method - 144 is being destroyed | |
Sipity::Method - 145 is being destroyed | |
Sipity::NotifiableContext - 130 is being destroyed | |
Sipity::WorkflowState - 132 is being destroyed | |
Sipity::WorkflowStateAction - 485 is being destroyed | |
Sipity::WorkflowStateActionPermission - 485 is being destroyed | |
Sipity::WorkflowStateAction - 489 is being destroyed | |
Sipity::WorkflowStateActionPermission - 489 is being destroyed | |
Sipity::WorkflowStateAction - 494 is being destroyed | |
Sipity::WorkflowStateActionPermission - 494 is being destroyed | |
Sipity::WorkflowStateAction - 498 is being destroyed | |
Sipity::WorkflowStateActionPermission - 498 is being destroyed | |
Sipity::WorkflowStateAction - 503 is being destroyed | |
Sipity::WorkflowStateActionPermission - 503 is being destroyed | |
Sipity::WorkflowAction - 131 is being destroyed | |
Sipity::NotifiableContext - 131 is being destroyed | |
Sipity::WorkflowState - 133 is being destroyed | |
Sipity::WorkflowStateAction - 487 is being destroyed | |
Sipity::WorkflowStateActionPermission - 487 is being destroyed | |
Sipity::WorkflowStateAction - 496 is being destroyed | |
Sipity::WorkflowStateActionPermission - 496 is being destroyed | |
Sipity::WorkflowStateAction - 500 is being destroyed | |
Sipity::WorkflowStateActionPermission - 500 is being destroyed | |
Sipity::WorkflowStateAction - 505 is being destroyed | |
Sipity::WorkflowStateActionPermission - 505 is being destroyed | |
Sipity::WorkflowAction - 133 is being destroyed | |
Sipity::WorkflowStateAction - 490 is being destroyed | |
Sipity::WorkflowStateActionPermission - 490 is being destroyed | |
Sipity::WorkflowStateAction - 491 is being destroyed | |
Sipity::WorkflowStateActionPermission - 491 is being destroyed | |
Sipity::WorkflowStateAction - 492 is being destroyed | |
Sipity::WorkflowStateActionPermission - 492 is being destroyed | |
Sipity::Method - 149 is being destroyed | |
Sipity::NotifiableContext - 133 is being destroyed | |
Sipity::WorkflowState - 134 is being destroyed | |
Sipity::WorkflowStateAction - 488 is being destroyed | |
Sipity::WorkflowStateActionPermission - 488 is being destroyed | |
Sipity::WorkflowStateAction - 501 is being destroyed | |
Sipity::WorkflowStateActionPermission - 501 is being destroyed | |
Sipity::WorkflowStateAction - 506 is being destroyed | |
Sipity::WorkflowStateActionPermission - 506 is being destroyed | |
Sipity::WorkflowAction - 134 is being destroyed | |
Sipity::WorkflowStateAction - 495 is being destroyed | |
Sipity::WorkflowStateActionPermission - 495 is being destroyed | |
Sipity::Method - 150 is being destroyed | |
Sipity::NotifiableContext - 134 is being destroyed | |
Sipity::WorkflowState - 135 is being destroyed | |
Sipity::WorkflowStateAction - 499 is being destroyed | |
Sipity::WorkflowStateActionPermission - 499 is being destroyed | |
Sipity::WorkflowStateAction - 504 is being destroyed | |
Sipity::WorkflowStateActionPermission - 504 is being destroyed | |
Sipity::WorkflowAction - 132 is being destroyed | |
Sipity::Method - 146 is being destroyed | |
Sipity::Method - 147 is being destroyed | |
Sipity::Method - 148 is being destroyed | |
Sipity::NotifiableContext - 132 is being destroyed | |
Sipity::WorkflowState - 136 is being destroyed | |
Sipity::WorkflowStateAction - 507 is being destroyed | |
Sipity::WorkflowStateActionPermission - 507 is being destroyed | |
Sipity::WorkflowAction - 135 is being destroyed | |
Sipity::Method - 151 is being destroyed | |
Sipity::NotifiableContext - 135 is being destroyed | |
Sipity::WorkflowState - 137 is being destroyed | |
Sipity::WorkflowAction - 136 is being destroyed | |
Sipity::NotifiableContext - 136 is being destroyed | |
Sipity::WorkflowAction - 128 is being destroyed | |
Sipity::Method - 142 is being destroyed | |
Sipity::NotifiableContext - 128 is being destroyed | |
Sipity::WorkflowRole - 21 is being destroyed | |
Sipity::WorkflowResponsibility - 21 is being destroyed | |
Sipity::WorkflowRole - 22 is being destroyed | |
Sipity::WorkflowResponsibility - 20 is being destroyed | |
Sipity::WorkflowRole - 23 is being destroyed | |
Sipity::WorkflowResponsibility - 22 is being destroyed | |
Sipity::WorkflowRole - 24 is being destroyed | |
Sipity::WorkflowResponsibility - 23 is being destroyed | |
Sipity::WorkflowResponsibility - 24 is being destroyed | |
Sipity::WorkflowStateAction - 479 is being destroyed | |
Sipity::WorkflowStateActionPermission - 479 is being destroyed | |
Sipity::WorkflowStateAction - 483 is being destroyed | |
Sipity::WorkflowStateActionPermission - 483 is being destroyed | |
Sipity::WorkflowStateAction - 478 is being destroyed | |
Sipity::WorkflowStateActionPermission - 478 is being destroyed | |
Sipity::Method - 143 is being destroyed | |
Sipity::NotifiableContext - 129 is being destroyed | |
Sipity::WorkflowAction - 129 is being destroyed | |
Sipity::WorkflowState - 129 is being destroyed | |
Sipity::WorkflowStateAction - 480 is being destroyed | |
Sipity::WorkflowStateActionPermission - 480 is being destroyed | |
Sipity::WorkflowStateAction - 482 is being destroyed | |
Sipity::WorkflowStateActionPermission - 482 is being destroyed | |
Sipity::WorkflowStateAction - 486 is being destroyed | |
Sipity::WorkflowStateActionPermission - 486 is being destroyed | |
Sipity::WorkflowStateAction - 493 is being destroyed | |
Sipity::WorkflowStateActionPermission - 493 is being destroyed | |
Sipity::WorkflowStateAction - 497 is being destroyed | |
Sipity::WorkflowStateActionPermission - 497 is being destroyed | |
Sipity::WorkflowStateAction - 502 is being destroyed | |
Sipity::WorkflowStateActionPermission - 502 is being destroyed | |
Sipity::WorkflowStateAction - 508 is being destroyed | |
Sipity::WorkflowStateActionPermission - 508 is being destroyed | |
Sipity::WorkflowStateAction - 509 is being destroyed | |
Sipity::WorkflowStateActionPermission - 509 is being destroyed | |
Sipity::WorkflowStateAction - 510 is being destroyed | |
Sipity::WorkflowStateActionPermission - 510 is being destroyed | |
Sipity::WorkflowStateAction - 511 is being destroyed | |
Sipity::WorkflowStateActionPermission - 511 is being destroyed | |
Sipity::WorkflowStateAction - 512 is being destroyed | |
Sipity::WorkflowStateActionPermission - 512 is being destroyed | |
Sipity::Method - 152 is being destroyed | |
Sipity::NotifiableContext - 137 is being destroyed | |
Sipity::WorkflowAction - 137 is being destroyed | |
Sipity::WorkflowState - 130 is being destroyed | |
Sipity::WorkflowStateAction - 481 is being destroyed | |
Sipity::WorkflowStateActionPermission - 481 is being destroyed | |
Sipity::WorkflowStateAction - 484 is being destroyed | |
Sipity::WorkflowStateActionPermission - 484 is being destroyed | |
Sipity::Method - 144 is being destroyed | |
Sipity::Method - 145 is being destroyed | |
Sipity::NotifiableContext - 130 is being destroyed | |
Sipity::WorkflowAction - 130 is being destroyed | |
Sipity::WorkflowState - 131 is being destroyed | |
Sipity::WorkflowStateAction - 485 is being destroyed | |
Sipity::WorkflowStateActionPermission - 485 is being destroyed | |
Sipity::WorkflowStateAction - 489 is being destroyed | |
Sipity::WorkflowStateActionPermission - 489 is being destroyed | |
Sipity::WorkflowStateAction - 494 is being destroyed | |
Sipity::WorkflowStateActionPermission - 494 is being destroyed | |
Sipity::WorkflowStateAction - 498 is being destroyed | |
Sipity::WorkflowStateActionPermission - 498 is being destroyed | |
Sipity::WorkflowStateAction - 503 is being destroyed | |
Sipity::WorkflowStateActionPermission - 503 is being destroyed | |
Sipity::NotifiableContext - 131 is being destroyed | |
Sipity::WorkflowAction - 131 is being destroyed | |
Sipity::WorkflowState - 132 is being destroyed | |
Sipity::WorkflowStateAction - 487 is being destroyed | |
Sipity::WorkflowStateActionPermission - 487 is being destroyed | |
Sipity::WorkflowStateAction - 496 is being destroyed | |
Sipity::WorkflowStateActionPermission - 496 is being destroyed | |
Sipity::WorkflowStateAction - 500 is being destroyed | |
Sipity::WorkflowStateActionPermission - 500 is being destroyed | |
Sipity::WorkflowStateAction - 505 is being destroyed | |
Sipity::WorkflowStateActionPermission - 505 is being destroyed | |
Sipity::WorkflowStateAction - 490 is being destroyed | |
Sipity::WorkflowStateActionPermission - 490 is being destroyed | |
Sipity::WorkflowStateAction - 491 is being destroyed | |
Sipity::WorkflowStateActionPermission - 491 is being destroyed | |
Sipity::WorkflowStateAction - 492 is being destroyed | |
Sipity::WorkflowStateActionPermission - 492 is being destroyed | |
Sipity::Method - 149 is being destroyed | |
Sipity::NotifiableContext - 133 is being destroyed | |
Sipity::WorkflowAction - 133 is being destroyed | |
Sipity::WorkflowState - 133 is being destroyed | |
Sipity::WorkflowStateAction - 488 is being destroyed | |
Sipity::WorkflowStateActionPermission - 488 is being destroyed | |
Sipity::WorkflowStateAction - 501 is being destroyed | |
Sipity::WorkflowStateActionPermission - 501 is being destroyed | |
Sipity::WorkflowStateAction - 506 is being destroyed | |
Sipity::WorkflowStateActionPermission - 506 is being destroyed | |
Sipity::WorkflowStateAction - 495 is being destroyed | |
Sipity::WorkflowStateActionPermission - 495 is being destroyed | |
Sipity::Method - 150 is being destroyed | |
Sipity::NotifiableContext - 134 is being destroyed | |
Sipity::WorkflowAction - 134 is being destroyed | |
Sipity::WorkflowState - 134 is being destroyed | |
Sipity::WorkflowStateAction - 499 is being destroyed | |
Sipity::WorkflowStateActionPermission - 499 is being destroyed | |
Sipity::WorkflowStateAction - 504 is being destroyed | |
Sipity::WorkflowStateActionPermission - 504 is being destroyed | |
Sipity::Method - 146 is being destroyed | |
Sipity::Method - 147 is being destroyed | |
Sipity::Method - 148 is being destroyed | |
Sipity::NotifiableContext - 132 is being destroyed | |
Sipity::WorkflowAction - 132 is being destroyed | |
Sipity::WorkflowState - 135 is being destroyed | |
Sipity::WorkflowStateAction - 507 is being destroyed | |
Sipity::WorkflowStateActionPermission - 507 is being destroyed | |
Sipity::Method - 151 is being destroyed | |
Sipity::NotifiableContext - 135 is being destroyed | |
Sipity::WorkflowAction - 135 is being destroyed | |
Sipity::WorkflowState - 136 is being destroyed | |
Sipity::NotifiableContext - 136 is being destroyed | |
Sipity::WorkflowAction - 136 is being destroyed | |
Sipity::WorkflowState - 137 is being destroyed | |
Sipity::WorkflowResponsibility - 21 is being destroyed | |
Sipity::WorkflowRole - 21 is being destroyed | |
Sipity::WorkflowResponsibility - 20 is being destroyed | |
Sipity::WorkflowRole - 22 is being destroyed | |
Sipity::WorkflowResponsibility - 22 is being destroyed | |
Sipity::WorkflowRole - 23 is being destroyed | |
Sipity::WorkflowResponsibility - 23 is being destroyed | |
Sipity::WorkflowResponsibility - 24 is being destroyed | |
Sipity::WorkflowRole - 24 is being destroyed | |
Sipity::Workflow - 15 is being destroyed |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment