diff --git a/as-talange-core/src/main/resources/db/migration/V48__copy_taille_equipement_4_to_36.sql b/as-talange-core/src/main/resources/db/migration/V48__copy_taille_equipement_4_to_36.sql new file mode 100644 index 0000000..9d8c7af --- /dev/null +++ b/as-talange-core/src/main/resources/db/migration/V48__copy_taille_equipement_4_to_36.sql @@ -0,0 +1,45 @@ +-- Migration V48: Copier la taille des équipements d'origine vers les nouveaux équipements ajoutés (36 depuis 4, et 37 depuis 10) + +-- 1. Attribution de la même taille que l'équipement ID 4 aux dotations de l'équipement ID 36 (lorsqu'elle est non renseignée) +UPDATE dotation d36 +SET taille = ( + SELECT d4.taille + FROM dotation d4 + WHERE d4.licence_id = d36.licence_id + AND d4.equipement_id = 4 + AND d4.taille IS NOT NULL + AND TRIM(d4.taille) <> '' + LIMIT 1 +) +WHERE d36.equipement_id = 36 + AND (d36.taille IS NULL OR TRIM(d36.taille) = '') + AND EXISTS ( + SELECT 1 + FROM dotation d4 + WHERE d4.licence_id = d36.licence_id + AND d4.equipement_id = 4 + AND d4.taille IS NOT NULL + AND TRIM(d4.taille) <> '' + ); + +-- 2. Attribution de la même taille que l'équipement ID 10 aux dotations de l'équipement ID 37 (lorsqu'elle est non renseignée) +UPDATE dotation d37 +SET taille = ( + SELECT d10.taille + FROM dotation d10 + WHERE d10.licence_id = d37.licence_id + AND d10.equipement_id = 10 + AND d10.taille IS NOT NULL + AND TRIM(d10.taille) <> '' + LIMIT 1 +) +WHERE d37.equipement_id = 37 + AND (d37.taille IS NULL OR TRIM(d37.taille) = '') + AND EXISTS ( + SELECT 1 + FROM dotation d10 + WHERE d10.licence_id = d37.licence_id + AND d10.equipement_id = 10 + AND d10.taille IS NOT NULL + AND TRIM(d10.taille) <> '' + );