Astuces

Comment changer les urls d’une BDD avec DBSR

Lors de la copie d’un site il faut changer les urls de la BDD. Pour ce faire DvdGiessen nous propose un outil nommé DBSR que je vous présente dans ce guide.

Lors de la copie d’un site d’un endroit A vers un endroit B, il faut réaliser une copie des fichiers et de la base de données. Petit inconvénient, les urls de la base de donnée ne changent pas. Par chance, il existe un super outils pour remplacer toutes les occurrences que l’on souhaite modifier. Ce projet porte le nom de DBSR et est téléchargeable sur GIT : https://github.com/DvdGiessen/DBSR.

 

A noter : Il existe deux versions de DBSR :
une version CLI (https://github.com/DvdGiessen/DBSR/blob/master/compiled/DBSearchReplace-CLI.php) qui permet l’utilisation de l’invite de commande – celle que nous allons utiliser ici.
une interface web (https://github.com/DvdGiessen/DBSR/archive/master.zip) qui se met en place par FTP puis par le biais de l’interface visuelle sur le site, au même titre qu’une page.

Prérequis : Il faut faudra un accès SSH à votre environnement distant, ou, si en local, à un terminal, ceci afin de lancer les commandes adéquates et réaliser les étapes suivantes. Si vous êtes dans l’incapacité de vous munir d’un terminal, il est tout du moins possible de le faire en utilisant le FTP en téléchargeant l’interface visuelle. Je vous invite à suivre la procédure que Grégoire Noyelle décrit dans cette article : http://www.gregoirenoyelle.com/wordpress-migrer-son-site-script-dbsr/

1 – Initialisation

Se déplacer dans l’arborescence de telle manière à être à la racine du nouveau projet. Ceci correspond à public_html en général chez un hébergeur, ou sinon www/projet si sur (W/X/L)amp.

2 – Téléchargement du script DBSR

Télécharger le script DBSR en version CLI de la manière suivante :

wget https://raw.githubusercontent.com/DvdGiessen/DBSR/master/compiled/DBSearchReplace-CLI.php

3 – Exécution du script DBSR

Maintenant que le script DBSR est téléchargé, vous pouvez lancer la commande permettant de remplacer les urls de la BDD du site A par celle du site B. Pour ce faire, copiez la ligne suivante :

php DBSearchReplace-CLI.php --output text --host localhost --user db_user --password db_password --database database_name --extensive-search true --charset utf8 -- old_url new_url

et spécifiez certains réglages en les remplaçant par vos valeurs :

  • db_user : l’utilisateur se connectant à votre base de donnée
  • db_password : mot de passe de l’utilisateur se connectant à votre base de donnée
  • database_name : le nom de la base de donnée dans laquelle on souhaite travailler. Attention à bien renseigner celle du site B.

Formatage : Il faut faire attention que l’old_url corresponde à la new_url au niveau de la construction de l’url, CAD www.old_url.fr deviendra forcement www.new_url.fr.
Il est préférable de ne pas mettre l’url complète, mais uniquement le morceau à modifier. Le « http:// », « www », l’extension et les sous-domaines sont le plus souvent à bannir car on ne retrouve pas toujours ce formatage sur toutes les urls du site et dépendra si l’on est en multisites en sous-domaine ou multi-domaines, par exemple.

  • old_url : la partie de l’url à retrouver et remplacer du site A. Ex : « maxime.fr » / « maxime »
  • new_url : la valeur à remplacer pour le site B. Ex : « maximeculea.com » / « maximeculea »

Une fois cette commande exécutée, un message s’affichera montrant le nombres d’occurrences modifiées dans la base de données et dans le cas échéant un message d’erreur.

4 – Suppression du script DBSR

Quand vous en aurez finit de faire mumuse avec la BDD il vous faudra penser à supprimer le script DBSR :

rm DBSearchReplace-CLI.php

 

Tout est bon, vous pouvez maintenant profiter pleinement de votre nouveau site avec sa nouvelle BDD.

Je vous libère donc afin de profiter de la récréation, et n’abusez pas des bonbons !

Laisser un commentaire