Voici la procédure pour changer le préfix d’une installation WordPress existante (par défaut, il vaut ‘wp_’).
Prenons par exemple, un schema test sur lequel se trouve les tables, et que l’on veut changer le préfix wp_ en monPrefix_, la requête SQL suivante permet de générer les alters requis:
SELECT CONCAT('RENAME TABLE ', GROUP_CONCAT('`', TABLE_SCHEMA, '`.`', TABLE_NAME, '` TO `', TABLE_SCHEMA, '`.`monPrefix_', SUBSTR(TABLE_NAME,4), '`')) AS q FROM `information_schema`.`Tables` WHERE TABLE_SCHEMA='test';
Ensuite, ouvrir wp-config.php et modifier la valeur de la variable : $table_prefix en ‘monPrefix_‘.
On pourrait croire que les étapes ci-dessus sont suffisantes, mais au moment d’accéder à la console d’administration, le message suivant apparaît:
Vous n’avez pas les droits suffisants pour accéder à cette page
Il faut encore modifier les valeurs en base de donnée qui sont basées sur ce préfix :
- dans la table wp_options, pour la ligne la ligne dont le champ option_name vaut wp_user_roles , il faut le modifier en monPrefix_user_roles
- de même, dans la table wp_usermeta, il faut changer le prefix de toute les lignes ayant comme valeur de champ meta_key les valeurs suivantes :
- wp_autosave_draft_ids,
- wp_capabilities,
- wp_usersettings,
- wp_usersettingstime
deviennent :
- monPrefix_autosave_draft_ids,
- monPrefix_capabilities,
- monPrefix_usersettings,
- monPrefix_usersettingstime