Files
ms1inscription-v5/sql/MSIN-inscriptions-pays-iso3.sql
stephan beb84339e2 Add new table definitions for 'inscriptions_pays' and 'inscriptions_provinces' in static sync configuration
This commit introduces new entries for the 'inscriptions_pays' and 'inscriptions_provinces' tables in the fxStaticSyncTableDefinitions function. Each entry includes a label, keys, and columns to ignore, enhancing the static synchronization configuration for better data management.
2026-07-02 20:22:22 -04:00

287 lines
5.8 KiB
SQL

-- MSIN - inscriptions_pays : colonne ISO-3166 alpha-3 (ChronoTrack + exports)
-- Prerequis : table inscriptions_pays avec pay_iso (char 2)
-- Idempotent : UPDATE repetable ; ALTER a executer une seule fois
--
-- IMPORTANT - selectionner la base AVANT d executer :
-- USE devinscription_preprod;
-- USE devinscription_prod;
-- USE ms1incription_preprod;
-- USE ms1incription_prod;
ALTER TABLE inscriptions_pays
ADD COLUMN pay_iso3 CHAR(3) DEFAULT NULL AFTER pay_iso;
DROP TEMPORARY TABLE IF EXISTS _iso3166_map;
CREATE TEMPORARY TABLE _iso3166_map (
iso2 CHAR(2) NOT NULL PRIMARY KEY,
iso3 CHAR(3) NOT NULL
) ENGINE=Memory;
INSERT INTO _iso3166_map (iso2, iso3) VALUES
('AD', 'AND'),
('AE', 'ARE'),
('AF', 'AFG'),
('AG', 'ATG'),
('AI', 'AIA'),
('AL', 'ALB'),
('AM', 'ARM'),
('AO', 'AGO'),
('AQ', 'ATA'),
('AR', 'ARG'),
('AS', 'ASM'),
('AT', 'AUT'),
('AU', 'AUS'),
('AW', 'ABW'),
('AX', 'ALA'),
('AZ', 'AZE'),
('BA', 'BIH'),
('BB', 'BRB'),
('BD', 'BGD'),
('BE', 'BEL'),
('BF', 'BFA'),
('BG', 'BGR'),
('BH', 'BHR'),
('BI', 'BDI'),
('BJ', 'BEN'),
('BL', 'BLM'),
('BM', 'BMU'),
('BN', 'BRN'),
('BO', 'BOL'),
('BQ', 'BES'),
('BR', 'BRA'),
('BS', 'BHS'),
('BT', 'BTN'),
('BV', 'BVT'),
('BW', 'BWA'),
('BY', 'BLR'),
('BZ', 'BLZ'),
('CA', 'CAN'),
('CC', 'CCK'),
('CD', 'COD'),
('CF', 'CAF'),
('CG', 'COG'),
('CH', 'CHE'),
('CI', 'CIV'),
('CK', 'COK'),
('CL', 'CHL'),
('CM', 'CMR'),
('CN', 'CHN'),
('CO', 'COL'),
('CR', 'CRI'),
('CU', 'CUB'),
('CV', 'CPV'),
('CW', 'CUW'),
('CX', 'CXR'),
('CY', 'CYP'),
('CZ', 'CZE'),
('DE', 'DEU'),
('DJ', 'DJI'),
('DK', 'DNK'),
('DM', 'DMA'),
('DO', 'DOM'),
('DZ', 'DZA'),
('EC', 'ECU'),
('EE', 'EST'),
('EG', 'EGY'),
('EH', 'ESH'),
('ER', 'ERI'),
('ES', 'ESP'),
('ET', 'ETH'),
('FI', 'FIN'),
('FJ', 'FJI'),
('FK', 'FLK'),
('FM', 'FSM'),
('FO', 'FRO'),
('FR', 'FRA'),
('GA', 'GAB'),
('GB', 'GBR'),
('GD', 'GRD'),
('GE', 'GEO'),
('GF', 'GUF'),
('GG', 'GGY'),
('GH', 'GHA'),
('GI', 'GIB'),
('GL', 'GRL'),
('GM', 'GMB'),
('GN', 'GIN'),
('GP', 'GLP'),
('GQ', 'GNQ'),
('GR', 'GRC'),
('GS', 'SGS'),
('GT', 'GTM'),
('GU', 'GUM'),
('GW', 'GNB'),
('GY', 'GUY'),
('HK', 'HKG'),
('HM', 'HMD'),
('HN', 'HND'),
('HR', 'HRV'),
('HT', 'HTI'),
('HU', 'HUN'),
('ID', 'IDN'),
('IE', 'IRL'),
('IL', 'ISR'),
('IM', 'IMN'),
('IN', 'IND'),
('IO', 'IOT'),
('IQ', 'IRQ'),
('IR', 'IRN'),
('IS', 'ISL'),
('IT', 'ITA'),
('JE', 'JEY'),
('JM', 'JAM'),
('JO', 'JOR'),
('JP', 'JPN'),
('KE', 'KEN'),
('KG', 'KGZ'),
('KH', 'KHM'),
('KI', 'KIR'),
('KM', 'COM'),
('KN', 'KNA'),
('KP', 'PRK'),
('KR', 'KOR'),
('KW', 'KWT'),
('KY', 'CYM'),
('KZ', 'KAZ'),
('LA', 'LAO'),
('LB', 'LBN'),
('LC', 'LCA'),
('LI', 'LIE'),
('LK', 'LKA'),
('LR', 'LBR'),
('LS', 'LSO'),
('LT', 'LTU'),
('LU', 'LUX'),
('LV', 'LVA'),
('LY', 'LBY'),
('MA', 'MAR'),
('MC', 'MCO'),
('MD', 'MDA'),
('ME', 'MNE'),
('MF', 'MAF'),
('MG', 'MDG'),
('MH', 'MHL'),
('MK', 'MKD'),
('ML', 'MLI'),
('MM', 'MMR'),
('MN', 'MNG'),
('MO', 'MAC'),
('MP', 'MNP'),
('MQ', 'MTQ'),
('MR', 'MRT'),
('MS', 'MSR'),
('MT', 'MLT'),
('MU', 'MUS'),
('MV', 'MDV'),
('MW', 'MWI'),
('MX', 'MEX'),
('MY', 'MYS'),
('MZ', 'MOZ'),
('NA', 'NAM'),
('NC', 'NCL'),
('NE', 'NER'),
('NF', 'NFK'),
('NG', 'NGA'),
('NI', 'NIC'),
('NL', 'NLD'),
('NO', 'NOR'),
('NP', 'NPL'),
('NR', 'NRU'),
('NU', 'NIU'),
('NZ', 'NZL'),
('OM', 'OMN'),
('PA', 'PAN'),
('PE', 'PER'),
('PF', 'PYF'),
('PG', 'PNG'),
('PH', 'PHL'),
('PK', 'PAK'),
('PL', 'POL'),
('PM', 'SPM'),
('PN', 'PCN'),
('PR', 'PRI'),
('PS', 'PSE'),
('PT', 'PRT'),
('PW', 'PLW'),
('PY', 'PRY'),
('QA', 'QAT'),
('RE', 'REU'),
('RO', 'ROU'),
('RS', 'SRB'),
('RU', 'RUS'),
('RW', 'RWA'),
('SA', 'SAU'),
('SB', 'SLB'),
('SC', 'SYC'),
('SD', 'SDN'),
('SE', 'SWE'),
('SG', 'SGP'),
('SH', 'SHN'),
('SI', 'SVN'),
('SJ', 'SJM'),
('SK', 'SVK'),
('SL', 'SLE'),
('SM', 'SMR'),
('SN', 'SEN'),
('SO', 'SOM'),
('SR', 'SUR'),
('SS', 'SSD'),
('ST', 'STP'),
('SV', 'SLV'),
('SX', 'SXM'),
('SY', 'SYR'),
('SZ', 'SWZ'),
('TC', 'TCA'),
('TD', 'TCD'),
('TF', 'ATF'),
('TG', 'TGO'),
('TH', 'THA'),
('TJ', 'TJK'),
('TK', 'TKL'),
('TL', 'TLS'),
('TM', 'TKM'),
('TN', 'TUN'),
('TO', 'TON'),
('TR', 'TUR'),
('TT', 'TTO'),
('TV', 'TUV'),
('TW', 'TWN'),
('TZ', 'TZA'),
('UA', 'UKR'),
('UG', 'UGA'),
('UM', 'UMI'),
('US', 'USA'),
('UY', 'URY'),
('UZ', 'UZB'),
('VA', 'VAT'),
('VC', 'VCT'),
('VE', 'VEN'),
('VG', 'VGB'),
('VI', 'VIR'),
('VN', 'VNM'),
('VU', 'VUT'),
('WF', 'WLF'),
('WS', 'WSM'),
('YE', 'YEM'),
('YT', 'MYT'),
('ZA', 'ZAF'),
('ZM', 'ZMB'),
('ZW', 'ZWE'),
('AN', 'ANT'),
('UK', 'GBR'),
('XK', 'XKX');
UPDATE inscriptions_pays p
INNER JOIN _iso3166_map m ON UPPER(TRIM(p.pay_iso)) = m.iso2
SET p.pay_iso3 = m.iso3
WHERE p.pay_iso IS NOT NULL AND TRIM(p.pay_iso) <> '';
DROP TEMPORARY TABLE IF EXISTS _iso3166_map;
-- Verification (doit retourner 0 ligne si tout est mappe) :
-- SELECT pay_id, pay_nom_fr, pay_iso, pay_iso3
-- FROM inscriptions_pays
-- WHERE pay_iso IS NOT NULL AND TRIM(pay_iso) <> '' AND (pay_iso3 IS NULL OR TRIM(pay_iso3) = '')
-- ORDER BY pay_nom_fr;