| 1 | -- Import complet des anciens |
| 2 | |
| 3 | DROP TABLE IF EXISTS `fusionax_anciens`; |
| 4 | |
| 5 | CREATE TABLE IF NOT EXISTS `fusionax_anciens` ( |
| 6 | `AN` varbinary(2) NOT NULL COMMENT 'Vaut toujours AN pour cette table', |
| 7 | `id_ancien` varbinary(8) NOT NULL COMMENT 'Id unique de l''ancien', |
| 8 | `Login` varbinary(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` int(11) NOT NULL COMMENT 'Promotion avec laquelle il/elle a fait ses études', |
| 11 | `Groupe_promo` enum('','A','B','C','N','S') character set binary NOT NULL COMMENT 'Groupe de promotion (code compris seulement par AX)', |
| 12 | `Nom_patronymique` varchar(50) character set utf8 NOT NULL COMMENT 'Nom patronymique (nom de jeune fille) sans la particule', |
| 13 | `partic_patro` varchar(5) character set utf8 NOT NULL COMMENT 'Particule du nom patronymique', |
| 14 | `prenom` varchar(30) character set utf8 NOT NULL COMMENT 'Prénom', |
| 15 | `Nom_usuel` varchar(50) character set utf8 NOT NULL COMMENT 'Nom usuel (nom marital par exemple) sans la particule', |
| 16 | `partic_nom` varchar(5) character set utf8 NOT NULL COMMENT 'Particule du nom usuel', |
| 17 | `Nom_complet` varchar(80) character set utf8 NOT NULL COMMENT 'Nom patronymique complet (avec la particule)', |
| 18 | `Civilite` enum('','.','M','MME','MLLE') character set utf8 NOT NULL COMMENT 'Civilité', |
| 19 | `Code_nationalite` varbinary(2) NOT NULL COMMENT 'Nationalité (code)', |
| 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)', |
| 21 | `corps_sortie` varchar(10) character set utf8 NOT NULL COMMENT 'Corps de sortie (ou D si aucun)', |
| 22 | `Date_deces` DATE COMMENT 'Date de décès', |
| 23 | `grade` varbinary(20) NOT NULL COMMENT 'Grade actuel dans son corps', |
| 24 | `Mel_usage` varbinary(150) NOT NULL COMMENT 'Adresse e-mail d''usage', |
| 25 | `Mel_publiable` tinyint(4) NOT NULL COMMENT 'Autorisation d''utiliser le mail', |
| 26 | `tel_mobile` varbinary(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', |
| 28 | `Representant` enum('','K','DE') character set binary NOT NULL COMMENT 'Représentant de promotion', |
| 29 | `hash_adr_defaut` binary(5) NOT NULL COMMENT 'Hash de l''adresse par défaut', |
| 30 | `Date_maj` DATE NOT NULL, |
| 31 | PRIMARY KEY (`id_ancien`) |
| 32 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; |
| 33 | |
| 34 | LOAD DATA LOCAL INFILE 'Anciens.txt' INTO TABLE `fusionax_anciens` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' |
| 35 | (`AN`, `id_ancien`, `Login`, `Password`, `promotion_etude`, `Groupe_promo`, `Nom_patronymique`, `partic_patro`, `prenom`, Nom_usuel, partic_nom, |
| 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 | |
| 44 | -- Correspondances entre fiches X.org et fiches AX |
| 45 | DROP TABLE IF EXISTS `fusionax_import`; |
| 46 | |
| 47 | CREATE TABLE IF NOT EXISTS `fusionax_import` ( |
| 48 | `id_ancien` binary(8) NOT NULL COMMENT 'identifiant AX de l''ancien', |
| 49 | `user_id` int(11) default NULL COMMENT 'identifiant x.org de l''ancien si on l''a trouvé', |
| 50 | `date_match_id` timestamp NULL default NULL COMMENT 'date de mise en correspondance des identifiants', |
| 51 | PRIMARY KEY (`id_ancien`), |
| 52 | KEY `user_id` (`user_id`) |
| 53 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; |
| 54 | |
| 55 | INSERT INTO `fusionax_import` ( SELECT `id_ancien`, NULL, NULL FROM `fusionax_anciens` ); |
| 56 | REPLACE INTO `fusionax_import` ( SELECT `matricule_ax`, `user_id`, NOW() FROM `auth_user_md5` ); |
| 57 | |
| 58 | DROP VIEW IF EXISTS `fusionax_deceased`; |
| 59 | |
| 60 | CREATE VIEW `fusionax_deceased` AS |
| 61 | SELECT u.user_id, a.id_ancien, u.nom, u.prenom, u.promo, u.deces AS deces_xorg, a.Date_deces AS deces_ax |
| 62 | FROM `auth_user_md5` AS u |
| 63 | INNER JOIN fusionax_anciens AS a ON ( a.id_ancien = u.matricule_ax ) |
| 64 | WHERE u.deces != a.Date_deces; |