GLPI/SQL/Migration

Révision datée du 21 août 2024 à 12:06 par Fylip22 (discussion | contributions) (Page créée avec « {{Sommaire}} Pour la migration de données GLPI. === Script de mise à jour === <source> →‎Script de mise à jour : →‎Variables : SET @CodeAncien = 4321; SET @CodeNouveau = 1234; →‎Début : glpi_users : →‎A faire en manuel : →‎UPDATE glpi_users SET id=@CodeNouveau WHERE id=@CodeAncien ; : →‎Début : glpi_profiles_users : UPDATE glpi_profiles_users SET users_id=@CodeNouveau WHERE users_id=@CodeAncien ; →‎Début : glpi_tickets_users : UPDATE glpi... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Pour la migration de données GLPI.

Script de mise à jour

/* Script de mise à jour */

/* Variables */
SET @CodeAncien = 4321;
SET @CodeNouveau = 1234;

/* Début : glpi_users */
/* A faire en manuel */
/* UPDATE glpi_users SET id=@CodeNouveau WHERE id=@CodeAncien ;*/

/* Début : glpi_profiles_users */
UPDATE glpi_profiles_users SET users_id=@CodeNouveau WHERE users_id=@CodeAncien ;

/* Début : glpi_tickets_users */
UPDATE glpi_tickets_users SET users_id=@CodeNouveau WHERE users_id=@CodeAncien ;

/* Début : glpi_tickettasks */
UPDATE glpi_tickettasks SET users_id=@CodeNouveau WHERE users_id=@CodeAncien ;
UPDATE glpi_tickettasks SET users_id_editor=@CodeNouveau WHERE users_id_editor=@CodeAncien ;

/* Début : glpi_itilfollowups */
UPDATE glpi_itilfollowups SET users_id=@CodeNouveau WHERE users_id=@CodeAncien ;
UPDATE glpi_itilfollowups SET users_id_editor=@CodeNouveau WHERE users_id_editor=@CodeAncien ;

/* Début : glpi_itilsolutions */
UPDATE glpi_itilsolutions SET users_id=@CodeNouveau WHERE users_id=@CodeAncien ;

/* Début : glpi_savedsearches_users */
UPDATE glpi_savedsearches_users SET users_id=@CodeNouveau WHERE users_id=@CodeAncien ;
/* Fin du script */

Modification nom du serveur web

Les images visibles dans sur des tickets (description, tâche, suivi ou solution), c'est l'URL de l'image qui est stockée :

  • soit c'est l'URL complète, avec le nom du serveur ; exemple https://phpnet1/glpi/front/document.send.php...) ;
  • soit c'est l'URL relative, sans le nom du serveur ; exemple /phpnet1/front/document.send.php...) ;

Script pour tous les tickets qui répondent au critère de recherche

SET @TexteARechercher      = "phpnet1/glpi/front/";
SET @TexteARechercherRegEx = CONCAT( "(", @TexteARechercher, ")" );
SET @TexteDeRemplacement   = "phpweb1/glpi/front/";

UPDATE glpi_tickets 
SET content = REGEXP_REPLACE(content, @TexteARechercher, @TexteDeRemplacement)
WHERE id IN ( SELECT id	WHERE content REGEXP @TexteARechercherRegEx );

UPDATE glpi_tickettasks
SET content = REGEXP_REPLACE(content, @TexteARechercher, @TexteDeRemplacement)
WHERE tickets_id IN ( SELECT tickets_id WHERE content REGEXP @TexteARechercherRegEx );

UPDATE glpi_itilfollowups
SET content = REGEXP_REPLACE(content, @TexteARechercher, @TexteDeRemplacement)
WHERE items_id IN ( SELECT items_id WHERE content REGEXP @TexteARechercherRegEx );

UPDATE glpi_itilsolutions
SET content = REGEXP_REPLACE(content, @TexteARechercher, @TexteDeRemplacement)
WHERE items_id IN ( SELECT items_id WHERE content REGEXP @TexteARechercherRegEx );

Autre

Journal

Liste d'élément du journal dont la valeur du champ "new_value" correspond à la règle qui suit l'expression régulière ([0-9]{4}).*$, c'est-à-dire qui termine par quatre chiffres :

SELECT items_id, new_value
FROM glpi_logs
WHERE itemtype = "user" AND itemtype_link = "UserEmail" AND new_value REGEXP "([0-9]{4}).*$";

Fabricant

Liste des fabricants

SELECT *
FROM glpi_manufacturers

Mise à zéro des fabriquant pour les fiches ordinateur

UPDATE glpi_computers SET manufacturers_id=0 WHERE manufacturers_id <> 0;

Voir aussi

  •