X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Ffusionax%2FAnciens.sql;h=7964f430af23406e896578036792c74fbd36eb80;hb=8320b6fba6fa245dd71ae9c11b2a2a03f923d15d;hp=4aa07de2d4e1a2efbd3ae83a12a375d633e0b8a4;hpb=2b921a8064ea14cd554f03e5f561eb98e79a9246;p=platal.git diff --git a/modules/fusionax/Anciens.sql b/modules/fusionax/Anciens.sql index 4aa07de..7964f43 100644 --- a/modules/fusionax/Anciens.sql +++ b/modules/fusionax/Anciens.sql @@ -1,35 +1,35 @@ -- Import complet des anciens -DROP TABLE IF EXISTS `fusionax_anciens`; +DROP TABLE IF EXISTS fusionax_anciens; -CREATE TABLE IF NOT EXISTS `fusionax_anciens` ( - `AN` varbinary(2) NOT NULL COMMENT 'Vaut toujours AN pour cette table', - `id_ancien` varbinary(8) NOT NULL COMMENT 'Id unique de l''ancien', - `Login` varbinary(15) NOT NULL COMMENT 'Login sur le site de l''AX', - `Password` int(11) NOT NULL COMMENT 'Mot de passe sur le site AX', - `promotion_etude` int(11) NOT NULL COMMENT 'Promotion avec laquelle il/elle a fait ses études', - `Groupe_promo` enum('','A','B','C','N','S') character set binary NOT NULL COMMENT 'Groupe de promotion (code compris seulement par AX)', - `Nom_patronymique` varchar(50) character set utf8 NOT NULL COMMENT 'Nom patronymique (nom de jeune fille) sans la particule', - `partic_patro` varchar(5) character set utf8 NOT NULL COMMENT 'Particule du nom patronymique', - `prenom` varchar(30) character set utf8 NOT NULL COMMENT 'Prénom', - `Nom_usuel` varchar(50) character set utf8 NOT NULL COMMENT 'Nom usuel (nom marital par exemple) sans la particule', - `partic_nom` varchar(5) character set utf8 NOT NULL COMMENT 'Particule du nom usuel', - `Nom_complet` varchar(80) character set utf8 NOT NULL COMMENT 'Nom patronymique complet (avec la particule)', - `Civilite` enum('','.','M','MME','MLLE') character set utf8 NOT NULL COMMENT 'Civilité', - `Code_nationalite` varbinary(2) NOT NULL COMMENT 'Nationalité (code)', - `Type_membre` enum('','*','F','FB','P','PB','T','TB','TA') character set binary NOT NULL COMMENT 'Type de membre (code compris seulement par AX)', - `corps_sortie` varchar(10) character set utf8 NOT NULL COMMENT 'Corps de sortie (ou D si aucun)', - `Date_deces` DATE COMMENT 'Date de décès', - `grade` varbinary(20) NOT NULL COMMENT 'Grade actuel dans son corps', - `Mel_usage` varbinary(150) NOT NULL COMMENT 'Adresse e-mail d''usage', - `Mel_publiable` tinyint(4) NOT NULL COMMENT 'Autorisation d''utiliser le mail', - `tel_mobile` varbinary(30) NOT NULL COMMENT 'Numéro de téléphone mobile', - `annee_dernCot` int(11) NOT NULL COMMENT 'Année de dernière cotisation AX', - `Representant` enum('','K','DE') character set binary NOT NULL COMMENT 'Représentant de promotion', - `hash_adr_defaut` binary(5) NOT NULL COMMENT 'Hash de l''adresse par défaut', - `Date_maj` DATE NOT NULL, - PRIMARY KEY (`id_ancien`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +CREATE TABLE IF NOT EXISTS fusionax_anciens ( + AN CHAR(2) NOT NULL COMMENT 'Vaut toujours AN pour cette table', + id_ancien VARCHAR(8) NOT NULL COMMENT 'Id unique de l''ancien', + Login VARCHAR(15) NOT NULL COMMENT 'Login sur le site de l''AX', + Password INT(11) NOT NULL COMMENT 'Mot de passe sur le site AX', + promotion_etude SMALLINT(4) NOT NULL COMMENT 'Promotion avec laquelle il/elle a fait ses études', + Groupe_promo ENUM('', 'A', 'B', 'C', 'N', 'S') character set binary NOT NULL COMMENT 'Groupe de promotion (code compris seulement par AX)', + Nom_patronymique VARCHAR(255) character set utf8 NOT NULL COMMENT 'Nom patronymique (nom de jeune fille) sans la particule', + partic_patro VARCHAR(5) character set utf8 NOT NULL COMMENT 'Particule du nom patronymique', + prenom VARCHAR(30) character set utf8 NOT NULL COMMENT 'Prénom', + Nom_usuel VARCHAR(255) character set utf8 NOT NULL COMMENT 'Nom usuel (nom marital par exemple) sans la particule', + partic_nom VARCHAR(5) character set utf8 NOT NULL COMMENT 'Particule du nom usuel', + Nom_complet VARCHAR(255) character set utf8 NOT NULL COMMENT 'Nom patronymique complet (avec la particule)', + Civilite ENUM('', '.', 'M', 'MME', 'MLLE') character set utf8 NOT NULL COMMENT 'Civilité', + Code_nationalite CHAR(4) NOT NULL COMMENT 'Nationalité (code)', + Type_membre ENUM('', '*', 'F', 'FB', 'P', 'PB', 'T', 'TB', 'TA') character set binary NOT NULL COMMENT 'Type de membre (code compris seulement par AX)', + corps_sortie VARCHAR(50) character set utf8 NOT NULL COMMENT 'Corps de sortie (ou D si aucun)', + Date_deces DATE COMMENT 'Date de décès', + grade VARCHAR(50) NOT NULL COMMENT 'Grade actuel dans son corps', + Mel_usage VARCHAR(255) NOT NULL COMMENT 'Adresse e-mail d''usage', + Mel_publiable TINYINT(4) NOT NULL COMMENT 'Autorisation d''utiliser le mail', + tel_mobile VARCHAR(30) NOT NULL COMMENT 'Numéro de téléphone mobile', + annee_dernCot INT(11) NOT NULL COMMENT 'Année de dernière cotisation AX', + Representant ENUM('', 'K', 'DE') character set binary NOT NULL COMMENT 'Représentant de promotion', + hash_adr_defaut BINARY(5) NOT NULL COMMENT 'Hash de l''adresse par défaut', + Date_maj DATE NOT NULL, + PRIMARY KEY (id_ancien) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; LOAD DATA LOCAL INFILE 'Anciens.txt' INTO TABLE `fusionax_anciens` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' (`AN`, `id_ancien`, `Login`, `Password`, `promotion_etude`, `Groupe_promo`, `Nom_patronymique`, `partic_patro`, `prenom`, Nom_usuel, partic_nom, @@ -41,24 +41,18 @@ SET `Date_maj` = CONCAT(SUBSTRING(@StringDate_maj,7),'-',SUBSTRING(@StringDate_maj,4,2),'-',SUBSTRING(@StringDate_maj,1,2)), `Date_deces` = CONCAT(SUBSTRING(@StringDate_deces,7),'-',SUBSTRING(@StringDate_deces,4,2),'-',SUBSTRING(@StringDate_deces,1,2)); +ALTER TABLE fusionax_anciens ADD INDEX (id_ancien); + -- Correspondances entre fiches X.org et fiches AX DROP TABLE IF EXISTS `fusionax_import`; - + CREATE TABLE IF NOT EXISTS `fusionax_import` ( - `id_ancien` binary(8) NOT NULL COMMENT 'identifiant AX de l''ancien', - `user_id` int(11) default NULL COMMENT 'identifiant x.org de l''ancien si on l''a trouvé', - `date_match_id` timestamp NULL default NULL COMMENT 'date de mise en correspondance des identifiants', + `id_ancien` VARCHAR(8) NOT NULL COMMENT 'identifiant AX de l''ancien', + `user_id` INT(11) DEFAULT NULL COMMENT 'identifiant x.org de l''ancien si on l''a trouvé', + `date_match_id` TIMESTAMP NULL DEFAULT NULL COMMENT 'date de mise en correspondance des identifiants', PRIMARY KEY (`id_ancien`), KEY `user_id` (`user_id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; INSERT INTO `fusionax_import` ( SELECT `id_ancien`, NULL, NULL FROM `fusionax_anciens` ); REPLACE INTO `fusionax_import` ( SELECT `matricule_ax`, `user_id`, NOW() FROM `auth_user_md5` ); - -DROP VIEW IF EXISTS `fusionax_deceased`; - -CREATE VIEW `fusionax_deceased` AS -SELECT u.user_id, a.id_ancien, u.nom, u.prenom, u.promo, u.deces AS deces_xorg, a.Date_deces AS deces_ax -FROM `auth_user_md5` AS u -INNER JOIN fusionax_anciens AS a ON ( a.id_ancien = u.matricule_ax ) -WHERE u.deces != a.Date_deces;