web-dev-qa-db-fra.com

Qu'est-ce qu'un meilleur flux de travail pour la migration de base de données?

Lorsqu'on me demande de travailler sur un site WordPress existant, je prends généralement une copie de l'ensemble du site et le travaille localement. Depuis quelques années, j’utilise un script tel que celui-ci après avoir importé la base de données localement.

UPDATE wp_options SET option_value = replace(option_value, 'http://clientsite.co.uk', 'http://local.wordpressdev') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = REPLACE (guid, 'http://clientsite.co.uk', 'http://local.wordpressdev');
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://clientsite.co.uk', 'http://local.wordpressdev');    
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://clientsite.co.uk', 'http://local.wordpressdev');

J'ai reçu le conseil de ne jamais jouer avec les guides de poste, mais ce qui précède a toujours fonctionné pour moi et n'a, à ma connaissance, jamais causé de problèmes.

Ma question est la suivante: cette méthode de migration est-elle toujours valide avec Wordpress 4? Les plugins tels que 'Search & Replace' ou des outils tels que WP-CLI font-ils cela mieux?

1
codecowboy

J'utilise ceci pour rechercher et remplacer sur des bases de données - https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

Déplacez simplement les fichiers via FTP, exportez et importez la base de données, puis exécutez le script en recherchant l'ancienne URL et en le remplaçant par la nouvelle. Ensuite, je réenregistre des permaliens et j'ai terminé. J'ai déplacé WP des milliers de fois en utilisant cela.

J'ai l'ancien script qui n'est qu'un fichier, je ne suis pas très enthousiaste pour la nouvelle version, c'est un peu plus lent et plus idiot que je n'aime pas du tout.

2
Matthew Campbell

wp-cli a ceci intégré dans . Si wp-cli est installé, à partir de la ligne de commande, vous pouvez exécuter:

wp search-replace 'http://oldurl.com' 'http://newurl.localhost'

ou toutes les URL que vous utilisez dans votre environnement local, ce qui mettra à jour la base de données du site local, en tenant compte des tableaux sérialisés (ce que l'OP ne fait pas).

Vous pouvez créer des alias dans votre fichier .bash_profile afin d'exécuter une série de commandes wp-cli pour créer une base de données, réinitialiser une base de données, importer une base de données, effectuer une recherche-remplacement sur une base de données, etc. la ligne de commande qui effectue tout le travail d'importation d'une nouvelle base de données sur un site.

0
davemac