Commit | Line | Data |
---|---|---|
b9ad0878 PC |
1 | -- Import complet des anciens |
2 | ||
22f043e4 | 3 | DROP TABLE IF EXISTS fusionax_anciens; |
b9ad0878 | 4 | |
22f043e4 SJ |
5 | CREATE TABLE IF NOT EXISTS fusionax_anciens ( |
6 | AN CHAR(2) NOT NULL COMMENT 'Vaut toujours AN pour cette table', | |
ddc4c642 | 7 | ax_id VARCHAR(8) NOT NULL COMMENT 'Id unique de l''ancien', |
22f043e4 SJ |
8 | Login VARCHAR(15) NOT NULL COMMENT 'Login sur le site de l''AX', |
9 | Password INT(11) NOT NULL COMMENT 'Mot de passe sur le site AX', | |
10 | promotion_etude SMALLINT(4) NOT NULL COMMENT 'Promotion avec laquelle il/elle a fait ses études', | |
73be4434 | 11 | Groupe_promo ENUM('', 'A', 'B', 'C', 'N', 'S') character set binary NOT NULL COMMENT 'Groupe de promotion (code compris seulement par AX)', |
ddc4c642 SJ |
12 | Nom_patronymique VARCHAR(255) NOT NULL COMMENT 'Nom patronymique (nom de jeune fille) sans la particule', |
13 | partic_patro VARCHAR(5) NOT NULL COMMENT 'Particule du nom patronymique', | |
14 | prenom VARCHAR(30) NOT NULL COMMENT 'Prénom', | |
15 | Nom_usuel VARCHAR(255) NOT NULL COMMENT 'Nom usuel (nom marital par exemple) sans la particule', | |
16 | partic_nom VARCHAR(5) NOT NULL COMMENT 'Particule du nom usuel', | |
17 | Nom_complet VARCHAR(255) NOT NULL COMMENT 'Nom patronymique complet (avec la particule)', | |
18 | Civilite ENUM('', '.', 'M', 'MME', 'MLLE') NOT NULL COMMENT 'Civilité', | |
0b37833b | 19 | Code_nationalite CHAR(4) NOT NULL COMMENT 'Nationalité (code)', |
73be4434 | 20 | Type_membre ENUM('', '*', 'F', 'FB', 'P', 'PB', 'T', 'TB', 'TA') character set binary NOT NULL COMMENT 'Type de membre (code compris seulement par AX)', |
ddc4c642 | 21 | corps_sortie VARCHAR(50) NOT NULL COMMENT 'Corps de sortie (ou D si aucun)', |
22f043e4 SJ |
22 | Date_deces DATE COMMENT 'Date de décès', |
23 | grade VARCHAR(50) NOT NULL COMMENT 'Grade actuel dans son corps', | |
24 | Mel_usage VARCHAR(255) NOT NULL COMMENT 'Adresse e-mail d''usage', | |
25 | Mel_publiable TINYINT(4) NOT NULL COMMENT 'Autorisation d''utiliser le mail', | |
26 | tel_mobile VARCHAR(30) NOT NULL COMMENT 'Numéro de téléphone mobile', | |
27 | annee_dernCot INT(11) NOT NULL COMMENT 'Année de dernière cotisation AX', | |
73be4434 | 28 | Representant ENUM('', 'K', 'DE') character set binary NOT NULL COMMENT 'Représentant de promotion', |
22f043e4 SJ |
29 | hash_adr_defaut BINARY(5) NOT NULL COMMENT 'Hash de l''adresse par défaut', |
30 | Date_maj DATE NOT NULL, | |
ddc4c642 SJ |
31 | PRIMARY KEY (ax_id) |
32 | ) ENGINE=InnoDB, CHARSET=utf8; | |
b9ad0878 | 33 | |
ddc4c642 SJ |
34 | LOAD DATA LOCAL INFILE '{?}Anciens.txt' INTO TABLE `fusionax_anciens` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' |
35 | (`AN`, `ax_id`, `Login`, `Password`, `promotion_etude`, `Groupe_promo`, `Nom_patronymique`, `partic_patro`, `prenom`, Nom_usuel, partic_nom, | |
b9ad0878 PC |
36 | Nom_complet, Civilite, Code_nationalite, Type_membre, corps_sortie, @StringDate_deces, grade, Mel_usage, Mel_publiable, |
37 | tel_mobile, annee_dernCot, Representant, @Type_adr_defaut, @AdrC_Ligne1, @AdrC_Ligne2, @AdrC_Ligne3, @AdrC_code_postal, @AdrC_ville, | |
38 | @AdrC_zip_cedex, @AdrC_etat_distr, @AdrC_pays, @tel, @fax, @StringDate_maj) | |
39 | SET | |
40 | `hash_adr_defaut` = SUBSTRING( MD5( @Type_adr_defaut ), 1, 5), | |
41 | `Date_maj` = CONCAT(SUBSTRING(@StringDate_maj,7),'-',SUBSTRING(@StringDate_maj,4,2),'-',SUBSTRING(@StringDate_maj,1,2)), | |
42 | `Date_deces` = CONCAT(SUBSTRING(@StringDate_deces,7),'-',SUBSTRING(@StringDate_deces,4,2),'-',SUBSTRING(@StringDate_deces,1,2)); | |
43 | ||
ddc4c642 | 44 | ALTER TABLE fusionax_anciens ADD INDEX (ax_id); |
0b37833b | 45 | |
cc8ea8b2 | 46 | -- Correspondances entre fiches X.org et fiches AX |
b9ad0878 | 47 | DROP TABLE IF EXISTS `fusionax_import`; |
22f043e4 | 48 | |
b9ad0878 | 49 | CREATE TABLE IF NOT EXISTS `fusionax_import` ( |
ddc4c642 SJ |
50 | `ax_id` VARCHAR(8) NOT NULL COMMENT 'identifiant AX de l''ancien', |
51 | `pid` INT(11) DEFAULT NULL COMMENT 'identifiant du profil x.org de l''ancien si on l''a trouvé', | |
73be4434 | 52 | `date_match_id` TIMESTAMP NULL DEFAULT NULL COMMENT 'date de mise en correspondance des identifiants', |
ddc4c642 SJ |
53 | PRIMARY KEY (`ax_id`), |
54 | KEY `pid` (`pid`) | |
55 | ) ENGINE=InnoDB, CHARSET=utf8; | |
b9ad0878 | 56 | |
ddc4c642 SJ |
57 | INSERT INTO `fusionax_import` ( SELECT `ax_id`, NULL, NULL FROM `fusionax_anciens` ); |
58 | REPLACE INTO `fusionax_import` ( SELECT `ax_id`, `pid`, NOW() FROM `profiles` ); | |
59 | ||
60 | CREATE TEMPORARY TABLE IF NOT EXISTS tmp_update_fusionax_anciens ( | |
61 | good CHAR(4) DEFAULT NULL, | |
62 | bad CHAR(4) DEFAULT NULL, | |
63 | PRIMARY KEY(bad), | |
64 | UNIQUE KEY(good) | |
65 | ) CHARSET=utf8; | |
66 | ||
67 | INSERT IGNORE INTO tmp_update_fusionax_anciens (bad, good) | |
68 | VALUES ('TC', 'CAM'), | |
69 | ('SH', 'CN'), | |
70 | ('R', 'RO'), | |
71 | ('TW', 'RC'), | |
72 | ('TG', 'RT'), | |
73 | ('U', 'ROU'), | |
74 | ('KP', 'ROK'), | |
75 | ('CRO', 'HR'), | |
76 | ('UKR', 'UA'), | |
77 | ('AM', 'ARM'), | |
78 | ('CS', 'CZ'), | |
79 | ('SU', 'RUS'), | |
80 | ('LET', 'LV'), | |
81 | ('MDA', 'MD'); | |
82 | ||
83 | UPDATE fusionax_anciens AS f | |
84 | INNER JOIN tmp_update_fusionax_anciens AS t ON (f.Code_nationalite = t.bad) | |
85 | SET f.Code_nationalite = t.good; |