web-dev-qa-db-fra.com

Changer le préfixe de la table pour un site WordPress existant

Espérer que quelqu'un pourra vous aider avec le préfixe de table Wordpress pour un site déjà établi.

Quelle est la meilleure approche pour changer le préfixe de table existant dans les fichiers DB et wp-config afin de refléter le nouveau préfixe de table.

En fait, ce sont davantage les modifications de base de données back-end requises.

Y at-il un plugin décent ou quelqu'un pls peut-il m'indiquer les étapes manuelles requises. Juste inquiet que je pourrais causer des problèmes avec la DB.

Merci.

1
tonyf

C'est assez simple. Vous pouvez utiliser phpMyAdmin ou MySQL Workbench pour changer le préfixe de toutes les tables à la fois, ou vous pouvez le faire l'un après l'autre avec un outil tel que SequelPro. Si vous devez exécuter le code SQL à la main, la syntaxe est la suivante…

RENAME TABLE `old_name` TO `new_name`;

Une fois que tous les noms de table sont mis à jour, il vous suffit de mettre à jour la valeur $table_prefix dans votre wp-config.php pour qu'elle corresponde au nouveau préfixe.

1
Matt van Andel

Vous ne devriez pas le faire manuellement (SQL), ou en utilisant un plugin. C'est possible, mais assez dangereux.

Certaines tables de base WordPress (telles que wp_options) font souvent référence à des tables personnalisées (tables de plug-ins). De plus, certaines des données contenues dans ces tables principales sont souvent sérialisées (avec une longueur et des positions fixes), ce qui signifie que même si vous les modifiez manuellement, une installation erronée risque de se produire.

Vous devriez essayer un outil comme WP-CLI. Cela fait vraiment l'affaire, car il prend en compte les données sérialisées et analyse toute la base de données.

1
RMS

utiliser ce plugin: https://wordpress.org/plugins/change-table-prefix/

OR

Il y a un total de 11 tables WordPress par défaut, il serait donc difficile de les modifier manuellement.

Requête SQL

C’est pourquoi, pour accélérer les choses, nous avons une requête SQL que vous pouvez utiliser.

RENAME table wp_commentmeta TO wp_a123456_commentmeta; RENAME table wp_comments TO wp_a123456_comments; RENAME table wp_links TO wp_a123456_links; RENAME table wp_options TO wp_a123456_options; RENAME table wp_postmeta TO wp_a123456_postmeta; RENAME table wp_posts TO wp_a123456_posts; RENAME table wp_terms TO wp_a123456_terms; RENAME table wp_termmeta TO wp_a123456_termmeta; RENAME table wp_term_relationships TO wp_a123456_term_relationships; RENAME table wp_term_taxonomy TO wp_a123456_term_taxonomy; RENAME table wp_usermeta TO wp_a123456_usermeta; RENAME table wp_users TO wp_a123456_users;

Vous devrez peut-être ajouter des lignes pour d’autres plug-ins susceptibles d’ajouter leurs propres tables dans la base de données WordPress. L'idée est que vous modifiez le préfixe de toutes les tables pour celui que vous souhaitez. La table des options

Nous devons rechercher dans la table d'options tous les autres champs utilisant wp_ comme préfixe afin de pouvoir les remplacer. Pour faciliter le processus, utilisez cette requête:

SELECT * FROM wp_a123456_options WHERE option_name LIKE '% wp_%'

Cela donnera beaucoup de résultats, et vous devez y aller un par un pour changer ces lignes. Table UserMeta

Ensuite, nous devons rechercher dans l’usermeta tous les champs qui utilisent wp_ comme préfixe afin de pouvoir les remplacer. Utilisez cette requête SQL pour cela:

SELECT * FROM wp_a123456_usermeta WHERE meta_key LIKE '% wp_%'

Le nombre d'entrées peut varier selon le nombre de plugins que vous utilisez et autres. Il suffit de changer tout ce qui a wp_ au nouveau préfixe.

0
ghanshyam v