1 -- Import complet des anciens
3 DROP TABLE IF EXISTS `fusionax_anciens`
;
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
;
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
)
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));
44 DROP TABLE IF EXISTS `fusionax_import`
;
46 CREATE TABLE IF NOT EXISTS `fusionax_import`
(
47 `id_ancien`
binary(8) NOT NULL COMMENT 'identifiant AX de l''ancien',
48 `user_id`
int(11) default NULL COMMENT 'identifiant x.org de l''ancien si on l''a trouvé',
49 `date_match_id`
timestamp NULL default NULL COMMENT 'date de mise en correspondance des identifiants',
50 PRIMARY KEY (`id_ancien`
),
51 KEY `user_id`
(`user_id`
)
52 ) ENGINE
=MyISAM
DEFAULT CHARSET
=utf8
COLLATE=utf8_unicode_ci
;
54 INSERT INTO `fusionax_import`
( SELECT `id_ancien`
, NULL, NULL FROM `fusionax_anciens`
);
56 DROP VIEW IF EXISTS `fusionax_deceased`
;
58 CREATE VIEW `fusionax_deceased`
AS
59 SELECT u.user_id
, a.id_ancien
, u.nom
, u.prenom
, u.promo
, u.deces
AS deces_xorg
, a.Date_deces
AS deces_ax
60 FROM `auth_user_md5`
AS u
61 INNER JOIN fusionax_anciens
AS a
ON ( a.id_ancien
= u.matricule_ax
)
62 WHERE u.deces
!= a.Date_deces
;