Rev 68 | Rev 75 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#------------------------------------------------------------------------------------------------------------------------# SCRIPT de MIGRATION de HERBIERS vers COEL v1.0#------------------------------------------------------------------------------------------------------------------------# TODO : remplacer les valeurs vides par NULL -> utiliser le script remplacer_vide_par_null.phpSET @idm = 761;# Identifiant pour les métadonnéesSET @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 lignesDELETE FROM tb_coel.coel_projet WHERE cpr_id_projet = 2;# coel_meta_historique_ligne : la table d'historique des lignesDELETE 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 structuresDELETE FROM tb_coel.coel_structure WHERE cs_id_structure IN (SELECT ID_ORG FROM tb_herbiers.HERBIERS_ORGANISATION ORDER BY ID_ORG ASC);#---------------------------------------------------------------------------------------------------------------------## EFLORE_PROJET vers coel_projet# Insertion du projet Inventaire des Herbiers de France - Version 1INSERT INTO tb_coel.coel_projet (cpr_id_projet, cpr_nom, cpr_abreviation, cpr_description, cpr_url, cpr_ce_meta)SELECT 2, EPR_INTITULE_PROJET, EPR_ABREVIATION_PROJET, EPR_DESCRIPTION_PROJET, EPR_LIEN_WEB, @idmFROM tb_herbiers.EFLORE_PROJET;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 IHF', '1', '1', '162.38.234.1');# Insertion du projet Utilisateur de l''application COEL - Version 1INSERT 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;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');#------------------------------------------------------------------------------------------------------------------------# HERBIERS_ORGANISATION vers coel_structureALTER TABLE tb_herbiers.HERBIERS_ORGANISATION ORDER BY ID_ORG;# Classement des organisations par ID croissant#ALTER TABLE tb_herbiers.HERBIERS_ORGANISATION DROP NUM_COLLECTION, DROP ADRESS_TEXT, DROP TIME_ZONE ;# Suppression des champs inutilesSET @idm_tmp = @idm;# Identifiant pour les métadonnées temporaireINSERT INTO tb_coel.coel_structure(cs_id_structure, cs_ce_projet, cs_ce_mere, cs_truk_identifiant_alternatif, cs_guid,cs_nom, cs_adresse_01, cs_code_postal, cs_ville, cs_region, cs_pays, cs_telephone, cs_fax, cs_courriel,cs_description,cs_truk_url,cs_condition_acces,cs_ce_meta)SELECT ID_ORG, 2, 0, CONCAT("URN:tela-botanica.org:ihf:str",ID_ORG) AS GUID, IF(INDEX_HERB != '', CONCAT('IH#',INDEX_HERB), NULL) AS IDENTIFIANT_ALTERNATIF,INSTITUTION_NAME, ADRESS_LINE, ZIP, TOWN, REGION, IF(COUNTRY_CODE = 'fr', 'France', COUNTRY_CODE) AS PAYS, TEL, FAX, EMAIL,IF(SOURCE_DES_DONNEES != '', CONCAT("Source des données : ",SOURCE_DES_DONNEES), NULL) AS DESCRIPTION,CONCAT(IF(HO_URL != 'http://', CONCAT('WEB#',HO_URL), ''),IF(HO_URL != 'http://' AND LOGO != '', ';', ''), IF(LOGO != '', CONCAT('LOGO#',LOGO),'')) AS URLS,ACCESS_RESTRICTION,@idm := @idm+1FROM tb_herbiers.HERBIERS_ORGANISATIONORDER BY ID_ORG 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, 117, ID_ORG, NULL, IF(DATE_DERNIERE_MODIF = '0000-00-00 00:00:00', NOW(), DATE_DERNIERE_MODIF),CONCAT('Importation de l''enregistrement #',ID_ORG,' de la table HERBIERS_ORGANISATION.'),IF(CE_MODIFIER_PAR = '0', 1, CE_MODIFIER_PAR), '1', '162.38.234.1'FROM tb_herbiers.HERBIERS_ORGANISATIONORDER BY ID_ORG ASC;#------------------------------------------------------------------------------------------------------------------------#EFLORE_DROIT_POSSEDER vers coel_personne_a_relationINSERT 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 EDP_ID_UTILISATEUR, EDP_ID_UTILISATEUR, '2', IF(EDP_ID_DROIT = '1', 2022, IF(EDP_ID_DROIT = '2', 2023, IF(EDP_ID_DROIT = '3', 2024, 0))), @idm := @idm+1FROM tb_herbiers.EFLORE_DROIT_POSSEDERORDER BY EDP_ID_UTILISATEUR 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, '112', CONCAT(EDP_ID_UTILISATEUR, '-', EDP_ID_UTILISATEUR, '-2-', IF(EDP_ID_DROIT = '1', 2022, IF(EDP_ID_DROIT = '2', 2023, IF(EDP_ID_DROIT = '3', 2024, 0)))), NULL, NOW(), CONCAT('Importation des droits l''utilisateur #',EDP_ID_UTILISATEUR,' de la table EFLORE_DROIT_POSSEDER.'), '1', '1', '162.38.234.1'FROM tb_herbiers.EFLORE_DROIT_POSSEDERORDER BY EDP_ID_UTILISATEUR ASC;#------------------------------------------------------------------------------------------------------------------------# HERBIER_COORDONNE vers coel_personne_a_relationINSERT 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+1FROM tb_herbiers.HERBIER_COORDONNEORDER 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,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_POSSEDERORDER BY EDP_ID_UTILISATEUR ASC;#------------------------------------------------------------------------------------------------------------------------#annuaire_tela vers coel_personne# Pour l''identifiant on garde celui de l''annuaire Tela. Les autres projets commenceront à partir de 100 000INSERT INTO tb_coel.coel_personne(cp_id_personne, cp_ce_projet, cp_fmt_nom_complet, cp_prenom, cp_nom,cp_adresse_01, cp_adresse_02, cp_region, cp_code_postal, cp_ville, cp_pays,cp_truk_courriel, cp_truk_url,cp_description,cp_ce_truk_role,cp_mot_de_passe, cp_login, cp_ce_annuaire_tela, cp_parametre,cp_ce_meta)SELECT U_ID, '3', CONCAT(U_SURNAME,'',U_NAME) AS NOM_COMPLET, U_SURNAME, U_NAME,U_ADDR1, U_ADDR2, U_STATE, U_ZIP_CODE, U_CITY, CP.CP_Intitule_pays,LOWER(U_MAIL), U_WEB,CONCAT('Spécialités systématiques : ', U_SPE, '\nSpécialités géographiques : ', U_GEO, '\nFonction : ', U_FONCTION, '\nStructure : ', U_TITLE),IF(EDP_ID_DROIT = '1', 2022, IF(EDP_ID_DROIT = '2', 2023, IF(EDP_ID_DROIT = '3', 2024, 0))),U_PASSWD, U_MAIL, U_ID, CONCAT('<?xml version="1.0" encoding="UTF-8"><parametres><niveau_bota>', U_NIV,'</niveau_bota></parametres>'),@idm := @idm+1FROM tela_prod_v4.annuaire_tela AS AT, tb_herbiers.EFLORE_DROIT_POSSEDER AS EDP, tela_prod_v4.carto_PAYS AS CPWHERE AT.U_ID = EDP.EDP_ID_UTILISATEURAND CP.CP_ID_Pays = AT.U_COUNTRYORDER BY U_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, '111', U_ID, NULL, U_DATE,CONCAT('Importation de l''utilisateur #', U_ID,' de la table annuaire_tela.'), '1', '1', '162.38.234.1'FROM tela_prod_v4.annuaire_tela AS AT, tb_herbiers.EFLORE_DROIT_POSSEDER AS EDPWHERE AT.U_ID = EDP.EDP_ID_UTILISATEURORDER BY U_ID ASC;#------------------------------------------------------------------------------------------------------------------------# HERBIER_ADMINISTRER vers coel_structure_a_personneINSERT 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+1FROM tb_herbiers.HERBIER_ADMINISTRERORDER 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,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_ADMINISTRERORDER BY HA_ID_ANNUAIRE, HA_ID_ORG ASC;#------------------------------------------------------------------------------------------------------------------------#HERBIERS_STAFF vers coel_personneINSERT INTO tb_coel.coel_personne(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+1FROM tb_herbiers.HERBIERS_STAFFORDER BY ID_STAFF ASC;INSERT INTO tb_coel.coel_metal_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,CONCAT('Importation de l''utilisateur #', ID_STAFF,'de la table HERBIERS_STAFF'), '1', '1', '162.38.234.1'FROM tb_herbiers.HERBIERS_STAFFORDER 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#------------------------------------------------------------------------------------------------------------------------# HERBIERS_ont_un_staff vers coel_structure_a_personneINSERT 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+1FROM 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 != 0ORDER BY hous.ID_ORG, hous.ID_STAFF 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, '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_staffWHERE hous.ID_ORG != 0ORDER BY ID_ORG, ID_STAFF ASC;# TODO : ajouter une requête d''update pour mettre à jour la fonction...#------------------------------------------------------------------------------------------------------------------------#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;