Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 74 → Rev 75

/trunk/doc/bdd/migration_bdd_herbiers_vers_coel.sql
7,12 → 7,18
SET @idm_max = 99999;# Identifiant pour les métadonnées maximum si déjà des données dans la base
#---------------------------------------------------------------------------------------------------------------------#
# Nettoyage des tables
# coel_projet : la table d'historique des lignes
DELETE FROM tb_coel.coel_projet WHERE cpr_id_projet = 2;
# coel_meta_historique_ligne : la table d'historique des lignes
# coel_projet : la table d''historique des lignes
DELETE FROM tb_coel.coel_projet WHERE cpr_id_projet IN (2,3);
# coel_meta_historique_ligne : la table d''historique des lignes
DELETE FROM tb_coel.coel_meta_historique_ligne WHERE cmhl_id_historique_ligne >= @idm AND cmhl_id_historique_ligne < @idm_max;
# coel_structure : la table contenant les structures
DELETE FROM tb_coel.coel_structure WHERE cs_id_structure IN (SELECT ID_ORG FROM tb_herbiers.HERBIERS_ORGANISATION ORDER BY ID_ORG ASC);
# coel_personne_a_relation
DELETE FROM tb_coel.coel_personne_a_relation WHERE cpar_id_projet = '2';
DELETE FROM tb_coel.coel_personne WHERE cp_ce_projet = '3';
DELETE FROM tb_coel.coel_structure_a_personne WHERE csap_id_role = '2026';
DELETE FROM tb_coel.coel_personne WHERE cp_ce_projet = '2';
DELETE FROM tb_coel.coel_structure_a_personne WHERE csap_id_role = '2027';
 
#---------------------------------------------------------------------------------------------------------------------#
# EFLORE_PROJET vers coel_projet
24,7 → 30,7
VALUES (@idm := @idm+1, '113', '2', NULL , NOW( ) , 'Ajout du projet IHF', '1', '1', '162.38.234.1');
# Insertion du projet Utilisateur de l''application COEL - Version 1
INSERT INTO tb_coel.coel_projet (cpr_id_projet, cpr_nom, cpr_abreviation, cpr_description, cpr_url, cpr_ce_meta)
VALUES 3, 'Utilisateurs', 'U', 'Les utilisateurs de l''application COEL.', NULL, @idm;
VALUES (3, 'Utilisateurs', 'U', 'Les utilisateurs de l''application COEL.', NULL, @idm);
INSERT INTO tb_coel.coel_meta_historique_ligne (cmhl_id_historique_ligne, cmhl_ce_table, cmhl_cle_ligne, cmhl_enregistrement, cmhl_date_modification, cmhl_notes, cmhl_ce_modifier_par, cmhl_ce_etat ,cmhl_ip)
VALUES (@idm := @idm+1, '113', '2', NULL , NOW( ) , 'Ajout du projet U', '1', '1', '162.38.234.1');
 
82,11 → 88,11
ORDER BY EDP_ID_UTILISATEUR ASC;
 
#------------------------------------------------------------------------------------------------------------------------
# HERBIER_COORDONNE vers coel_personne_a_relation
# HERBIERS_COORDONNE vers coel_personne_a_relation
INSERT INTO tb_coel.coel_personne_a_relation
(cpar_id_personne_01, cpar_id_personne_02, cpar_id_projet, cpar_id_role, cpar_ce_meta)
SELECT HC_ID_COORDINATEUR, HC_ID_REDACTEUR, 2, 2025, @idm := @idm+1
FROM tb_herbiers.HERBIER_COORDONNE
FROM tb_herbiers.HERBIERS_COORDONNE
ORDER BY HC_ID_COORDINATEUR, HC_ID_REDACTEUR ASC;
INSERT INTO tb_coel.coel_meta_historique_ligne
(cmhl_id_historique_ligne, cmhl_ce_table, cmhl_cle_ligne, cmhl_enregistrement,
93,8 → 99,8
cmhl_date_modification, cmhl_notes, cmhl_ce_modifier_par, cmhl_ce_etat ,cmhl_ip)
SELECT @idm_tmp := @idm_tmp+1, '112', CONCAT(HC_ID_COORDINATEUR, '-', HC_ID_REDACTEUR, '-2-2025'), NULL,
NOW(), CONCAT('Importation des relations de coordination de l''utilisateur #',HC_ID_COORDINATEUR,' de la table HERBIER_COORDONNE.'), '1', '1', '162.38.234.1'
FROM tb_herbiers.EFLORE_DROIT_POSSEDER
ORDER BY EDP_ID_UTILISATEUR ASC;
FROM tb_herbiers.HERBIERS_COORDONNE
ORDER BY HC_ID_COORDINATEUR, HC_ID_REDACTEUR ASC;
 
#------------------------------------------------------------------------------------------------------------------------
#annuaire_tela vers coel_personne
128,11 → 134,11
ORDER BY U_ID ASC;
 
#------------------------------------------------------------------------------------------------------------------------
# HERBIER_ADMINISTRER vers coel_structure_a_personne
# HERBIERS_ADMINISTRER vers coel_structure_a_personne
INSERT INTO tb_coel.coel_structure_a_personne
(csap_id_structure, csap_id_personne, csap_id_role, csap_ce_meta)
SELECT HA_ID_ORG, HA_ID_ANNUAIRE, '2026', @idm := @idm+1
FROM tb_herbiers.HERBIER_ADMINISTRER
FROM tb_herbiers.HERBIERS_ADMINISTRER
ORDER BY HA_ID_ANNUAIRE, HA_ID_ORG ASC;
INSERT INTO tb_coel.coel_meta_historique_ligne
(cmhl_id_historique_ligne, cmhl_ce_table, cmhl_cle_ligne, cmhl_enregistrement,
139,7 → 145,7
cmhl_date_modification, cmhl_notes, cmhl_ce_modifier_par, cmhl_ce_etat ,cmhl_ip)
SELECT @idm_tmp := @idm_tmp+1, '118', CONCAT(HA_ID_ORG, '-', HA_ID_ANNUAIRE, '-2026'), NULL,
NOW(), CONCAT('Importation des de l''administrateur #',HA_ID_ANNUAIRE,' de la structure #', HA_ID_ORG,'de la table HERBIER_ADMINISTRER.'), '1', '1', '162.38.234.1'
FROM tb_herbiers.HERBIER_ADMINISTRER
FROM tb_herbiers.HERBIERS_ADMINISTRER
ORDER BY HA_ID_ANNUAIRE, HA_ID_ORG ASC;
149,26 → 155,36
(cp_id_personne, cp_ce_projet, cp_fmt_nom_complet, cp_nom, cp_prenom, cp_adresse_01, cp_adresse_02, cp_code_postal, cp_ville, cp_truk_courriel,
cp_truk_telephone, cp_truk_fax, cp_ce_meta)
SELECT 100000+ID_STAFF, '2', CONCAT(PRENOM,'', NOM) AS NOM_COMPLET, NOM, PRENOM, ADRESSE1, ADRESSE2, CP, VILLE, LOWER(MAIL),
IF(TEL != NULL, CONCAT('+33', TRIM(LEADING '0' FROM REPLACE(TEL,'[33]',''))), NULL), CONCAT('+33', TRIM(LEADING '0' FROM REPLACE(FAX,'[33]',''))), @idm := @idm+1
IF(TEL != '', CONCAT('+33', TRIM(LEADING '0' FROM REPLACE(TEL,'[33]',''))), NULL), IF(FAX != '', CONCAT('+33', TRIM(LEADING '0' FROM REPLACE(FAX,'[33]',''))), NULL), @idm := @idm+1
FROM tb_herbiers.HERBIERS_STAFF
ORDER BY ID_STAFF ASC;
INSERT INTO tb_coel.coel_metal_historique_ligne
INSERT INTO tb_coel.coel_meta_historique_ligne
(cmhl_id_historique_ligne, cmhl_ce_table, cmhl_cle_ligne, cmhl_enregistrement,
cmhl_date_modification, cmhl_notes, cmhl_ce_modifier_par, cmhl_ce_etat ,cmhl_ip)
SELECT @idm_tmp := @idm_tmp+1, '111', , NULL, DATE_DERNIERE_MODIF,
SELECT @idm_tmp := @idm_tmp+1, '111', ID_STAFF, NULL, DATE_DERNIERE_MODIF,
CONCAT('Importation de l''utilisateur #', ID_STAFF,'de la table HERBIERS_STAFF'), '1', '1', '162.38.234.1'
FROM tb_herbiers.HERBIERS_STAFF
ORDER BY ID_STAFF ASC;
UPDATE tb_coel.coel_personne SET cp_truk_telephone = IF(cp_truk_telephone LIKE (+336%), CONCAT('GSM#', cp_truk_telephone), CONCAT('FIX#', cp_truk_telephone)));
UPDATE tb_coel.coel_personne SET cp_truk_telephone = REPLACE(cp_truk_telephone, '.', ' ') WHERE cp_truk_telephone LIKE '%.%';
UPDATE tb_coel.coel_personne SET cp_truk_telephone = REPLACE(cp_truk_telephone, '+33 (0)', '') WHERE cp_truk_telephone LIKE '%+33 (0)%';
# TODO : faire les fax
 
UPDATE tb_coel.coel_personne SET cp_truk_telephone = REPLACE(cp_truk_telephone, '.', '') WHERE cp_truk_telephone LIKE '%.%';
UPDATE tb_coel.coel_personne SET cp_truk_telephone = REPLACE(cp_truk_telephone, ' ', '') WHERE cp_truk_telephone LIKE '% %';
UPDATE tb_coel.coel_personne SET cp_truk_telephone = REPLACE(cp_truk_telephone, '+33(0)', '') WHERE cp_truk_telephone LIKE '%+33(0)%';
UPDATE tb_coel.coel_personne SET cp_truk_telephone = IF(cp_truk_telephone LIKE '%;%', REPLACE(cp_truk_telephone, ';0', '; +33'),cp_truk_telephone);
UPDATE tb_coel.coel_personne SET cp_truk_telephone = IF(cp_truk_telephone LIKE '+336%', CONCAT('GSM#', cp_truk_telephone), CONCAT('FIX#', cp_truk_telephone));
UPDATE tb_coel.coel_personne SET cp_truk_telephone = IF(cp_truk_telephone LIKE '%+330%', REPLACE(cp_truk_telephone, '+330', '+33'),cp_truk_telephone);
UPDATE tb_coel.coel_personne SET cp_truk_telephone = IF(cp_truk_telephone LIKE '%; +336%', REPLACE(cp_truk_telephone, '; +33', '; GSM#+33'), REPLACE(cp_truk_telephone, '; +33', '; FIX#+33')) WHERE cp_truk_telephone LIKE '%;%';
 
UPDATE tb_coel.coel_personne SET cp_truk_fax = REPLACE(cp_truk_fax, '.', '') WHERE cp_truk_fax LIKE '%.%';
UPDATE tb_coel.coel_personne SET cp_truk_fax = REPLACE(cp_truk_fax, '+33 (0)', '') WHERE cp_truk_fax LIKE '%+33 (0)%';
UPDATE tb_coel.coel_personne SET cp_truk_fax = REPLACE(cp_truk_fax, ' ', '') WHERE cp_truk_fax LIKE '% %';
UPDATE tb_coel.coel_personne SET cp_truk_fax = IF(cp_truk_fax LIKE '%+330%', REPLACE(cp_truk_fax, '+330', '+33'),cp_truk_fax);
 
 
#------------------------------------------------------------------------------------------------------------------------
# HERBIERS_ont_un_staff vers coel_structure_a_personne
INSERT INTO tb_coel.coel_structure_a_personne
(csap_id_structure, csap_id_personne, csap_id_role, csap_mark_contact, csap_ce_truk_fonction, csap_ce_meta)
SELECT ID_ORG, hous.ID_STAFF, '2027', IF(LOWER(CONTACT) = 'oui', 1, 0) AS CONTACT, IF(FONCTION != '', CONCAT('AUTRE#', FONCTION), NULL) AS FONCTION, @idm := @idm+1
SELECT ID_ORG, 100000+hous.ID_STAFF, '2027', IF(LOWER(CONTACT) = 'oui', 1, 0) AS CONTACT, IF(FONCTION != '', CONCAT('AUTRE#', FONCTION), NULL) AS FONCTION, @idm := @idm+1
FROM tb_herbiers.HERBIERS_ont_un_staff AS hous LEFT JOIN tb_herbiers.HERBIERS_STAFF AS hs ON (hous.ID_STAFF = hs.ID_STAFF)
WHERE hous.ID_ORG != 0
ORDER BY hous.ID_ORG, hous.ID_STAFF ASC;
178,34 → 194,58
SELECT @idm_tmp := @idm_tmp+1, '118', CONCAT(ID_ORG, '-', ID_STAFF, '-2027'), NULL,
NOW(), CONCAT('Importation de la personne #',ID_STAFF,' de la structure #', ID_ORG,'de la table HERBIERS_ont_un_staff.'), '1', '1', '162.38.234.1'
FROM tb_herbiers.HERBIERS_ont_un_staff
WHERE hous.ID_ORG != 0
WHERE ID_ORG != 0
ORDER BY ID_ORG, ID_STAFF ASC;
# TODO : ajouter une requête d''update pour mettre à jour la fonction...
UPDATE tb_coel.coel_structure_a_personne
SET csap_ce_truk_fonction = IF(csap_ce_truk_fonction IS NOT NULL, IF(csap_ce_truk_fonction LIKE '%irecteur%', '2028',
IF(csap_ce_truk_fonction LIKE '%onservateur%', '2029', IF(csap_ce_truk_fonction LIKE '%echnicien%', '2030', csap_ce_truk_fonction))), NULL)
WHERE csap_id_role = '2027' ;
#------------------------------------------------------------------------------------------------------------------------
#HERBIER_COLLECTION vers coel_collection
#INSERT INTO tb_coel.coel_collection
# (cc_id_collection, cc_ce_projet, cc_ce_mere, cc_truk_code, cc_nom, cc_description,
# cc_truk_url, cc_ce_type,
# cc_specimen_type_nbre,
# cc_ce_meta)
# SELECT Id, 2, PARENT_ID, COLLECTION_CODE, NOM_COLLECTION, DESCRIPTION,
# URL, INCLUDED_TYPE,
count (distinct NUM_SPECIMENS),
# @idm := @idm+1
# FROM tb_herbiers.HERBIERS_COLLECTION
# ORDER BY Id ASC;
#INSERT INTO tb_coel.coel_meta_historique_ligne
# (cmhl_id_historique_ligne, cmhl_ce_table, cmhl_cle_ligne, cmhl_enregistrement,
# cmhl_date_modification, cmhl_notes, cmhl_ce_modifier_par, cmhl_ce_etat ,cmhl_ip)
# SELECT @idm_tmp := @idm_tmp+1, '101', '2', NULL,
# NOW( ) , CONCAT('Ajout de la collection #',Id,'de la table HERBIER_COLLECTION.') '1', '1', '162.38.234.1';
# FROM tb.herbiers.HERBIERS_COLLECTION
# ORDER BY Id ASC;
INSERT INTO tb_coel.coel_collection
(cc_id_collection, cc_ce_projet, cc_ce_structure, cc_guid, cc_truk_code, cc_nom, cc_description, cc_truk_type_depot, cc_ce_specimen_type,
cc_description_specialiste, cc_truk_url, cc_ce_type,
cc_specimen_type_nbre,
cc_ce_meta)
SELECT ID, '2', PARENT_ID, CONCAT("URN:tela-botanica.org:ihf:col",ID) AS GUID, COLLECTION_CODE, NOM_COLLECTION, DESCRIPTION, STATUT, IF(INCLUDED_TYPE = '0', '2236', IF (INCLUDED_TYPE = '1', '2239', IF (INCLUDED_TYPE = '2', '2238', NULL))) ,
CONCAT('Etat documentation : \n',DOC_STATE,'\nCollecteurs : \n',COLLECTEURS), URL, INCLUDED_TYPE,
NUM_SPECIMENS,
@idm := @idm+1
FROM tb_herbiers.HERBIERS_COLLECTION
ORDER BY ID ASC;
INSERT INTO tb_coel.coel_collection_botanique
(ccb_id_collection, ccb_truk_unite_base,
ccb_recolte_date_debut, ccb_ce_recolte_date_debut_type, ccb_recolte_date_fin, ccb_ce_recolte_date_fin_type,
ccb_inventaire_digital_pourcent, ccb_ce_classement_etat,
ccb_truk_degradation_specimen,
ccb_truk_degradation_presentation,
ccb_annotation_classement)
SELECT ID, CONCAT('TOTAL#0|NULL|NULL|',NUM_SPECIMENS,'|', IF(PREC_SPECIMENS = '1', '0', IF(PREC_SPECIMENS = '2', '1', IF(PREC_SPECIMENS = '3', '?', 'NULL'))), '|', NUM_SPECIES, '|', IF(PREC_SPECIES = '1', '0', IF(PREC_SPECIES = '2', '1', IF(PREC_SPECIES = '3', '?', 'NULL')))),
DATE_DEBUT, IF(DATE_DEBUT_CARAC = '1', '2313', IF (DATE_DEBUT_CARAC = '2', '2314', IF (DATE_DEBUT_CARAC = '3', '2315', IF(DATE_DEBUT_CARAC = '4', '2316' IF (DATE_DEBUT_CARAC = '5', '2317', NULL))))),
DATE_FIN, IF( DATE_FIN_CARAC = '1', '2318', IF (DATE_FIN_CARAC = '2', '2319', IF(DATE_FIN_CARAC = '3', '2320' IF (DATE_FIN_CARAC = '4', '2322', IF(DATE_FIN_CARAC = '5', '2321', IF (DATE_FIN_CARAC = '6', '2323', NULL)))))),
PERCENT_DATABASED, IF(ETAT_CLASSEMENT = 1, '2325', IF(ETAT_CLASSEMENT = 2, '2326', IF(ETAT_CLASSEMENT = 3, '2327', IF(ETAT_CLASSEMENT = 4, '2328', NULL)))),
CONCAT('TOTAL#',IF(ETAT_SPECIMENS = 1, '2325', IF(ETAT_SPECIMENS = 2, '2326', IF(ETAT_SPECIMENS = 3, '2327', IF(ETAT_SPECIMENS = 4, '2328', NULL)))),
CONCAT('TOTAL#',IF(ETAT_PRESENTATION = 1, '2325', IF(ETAT_PRESENTATION = 2, '2326', IF(ETAT_PRESENTATION = 3, '2327', IF(ETAT_PRESENTATION = 4, '2328', NULL)))),
IF(MODE_CLASSEMENT IS NOT NULL, IF(MODE_CLASSEMENT != '', MODE_CLASSEMENT, NULL), NULL)
FROM tb_herbiers.HERBIERS_COLLECTION
ORDER BY ID ASC;
INSERT INTO tb_coel.coel_meta_historique_ligne
(cmhl_id_historique_ligne, cmhl_ce_table, cmhl_cle_ligne, cmhl_enregistrement,
cmhl_date_modification, cmhl_notes, cmhl_ce_modifier_par, cmhl_ce_etat, cmhl_ip)
SELECT @idm_tmp := @idm_tmp+1, '101', ID, NULL,
IF(DATE_DERNIERE_MODIF != '0000-00-00 00:00:00', DATE_DERNIERE_MODIF, NOW()) , CONCAT('Ajout de la collection #',ID,'de la table HERBIER_COLLECTION.'), IF(CE_MODIFIER_PAR != '0', CE_MODIFIER_PAR, '1'), '1', IF(CE_MODIFIER_PAR != '0', NULL, '162.38.234.1');
FROM tb.herbiers.HERBIERS_COLLECTION
ORDER BY ID ASC;
 
#------------------------------------------------------------------------------------------------------------------------
# HERBIERS_ont_pres vers coel_collection
UPDATE
cc_truk_preservation,