diff --git a/db/migrate/20220301160753_add_administrateur_foreign_key_to_administrateurs_procedure.rb b/db/migrate/20220301160753_add_administrateur_foreign_key_to_administrateurs_procedure.rb index d8d0bbb0a..944940df1 100644 --- a/db/migrate/20220301160753_add_administrateur_foreign_key_to_administrateurs_procedure.rb +++ b/db/migrate/20220301160753_add_administrateur_foreign_key_to_administrateurs_procedure.rb @@ -1,12 +1,9 @@ class AddAdministrateurForeignKeyToAdministrateursProcedure < ActiveRecord::Migration[6.1] - def up - # Sanity check - say_with_time 'Removing AdministrateursProcedures where the associated Administrateur no longer exists ' do - deleted_administrateur_ids = AdministrateursProcedure.where.missing(:administrateur).pluck(:administrateur_id) - AdministrateursProcedure.where(administrateur_id: deleted_administrateur_ids).delete_all - end + include Database::MigrationHelpers - add_foreign_key :administrateurs_procedures, :administrateurs + def up + delete_orphans :administrateurs_procedures, :administrateurs_procedures + add_foreign_key :administrateurs_procedures, :administrateurs_procedures end def down diff --git a/db/migrate/20220302101337_add_foreign_keys_to_administrateurs_instructeurs.rb b/db/migrate/20220302101337_add_foreign_keys_to_administrateurs_instructeurs.rb index fc524565f..ae863654d 100644 --- a/db/migrate/20220302101337_add_foreign_keys_to_administrateurs_instructeurs.rb +++ b/db/migrate/20220302101337_add_foreign_keys_to_administrateurs_instructeurs.rb @@ -1,17 +1,11 @@ class AddForeignKeysToAdministrateursInstructeurs < ActiveRecord::Migration[6.1] + include Database::MigrationHelpers + def up - # Sanity check - say_with_time 'Removing AdministrateursInstructeur where the associated Administrateur no longer exists ' do - deleted_administrateurs_ids = AdministrateursInstructeur.where.missing(:administrateur).pluck(:administrateur_id) - AdministrateursInstructeur.where(administrateur_id: deleted_administrateurs_ids).delete_all - end - - say_with_time 'Removing AdministrateursInstructeur where the associated Instructeur no longer exists ' do - deleted_instructeurs_ids = AdministrateursInstructeur.where.missing(:instructeur).pluck(:instructeur_id) - AdministrateursInstructeur.where(instructeur_id: deleted_instructeurs_ids).delete_all - end - + delete_orphans :administrateurs_instructeurs, :administrateurs add_foreign_key :administrateurs_instructeurs, :administrateurs + + delete_orphans :administrateurs_instructeurs, :instructeurs add_foreign_key :administrateurs_instructeurs, :instructeurs end