db: add foreign key contraints to AdministrateursInstructeur

This commit is contained in:
Pierre de La Morinerie 2022-03-02 10:27:18 +00:00
parent 087e438eb6
commit 5eee6b161f
2 changed files with 25 additions and 1 deletions

View file

@ -0,0 +1,22 @@
class AddForeignKeysToAdministrateursInstructeurs < ActiveRecord::Migration[6.1]
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
add_foreign_key :administrateurs_instructeurs, :administrateurs
add_foreign_key :administrateurs_instructeurs, :instructeurs
end
def down
remove_foreign_key :administrateurs_instructeurs, :administrateurs
remove_foreign_key :administrateurs_instructeurs, :instructeurs
end
end

View file

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2022_02_04_130722) do
ActiveRecord::Schema.define(version: 2022_03_02_101337) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -852,6 +852,8 @@ ActiveRecord::Schema.define(version: 2022_02_04_130722) do
end
add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id"
add_foreign_key "administrateurs_instructeurs", "administrateurs"
add_foreign_key "administrateurs_instructeurs", "instructeurs"
add_foreign_key "archives_groupe_instructeurs", "archives"
add_foreign_key "archives_groupe_instructeurs", "groupe_instructeurs"
add_foreign_key "assign_tos", "groupe_instructeurs"