web-dev-qa-db-fra.com

Migration des données entre le serveur local et le serveur de développement

Je travaille depuis un site WordPress de taille moyenne. Jusqu'à présent, je viens d'héberger le site sur mon ordinateur local et de le montrer à des consultants internes via notre réseau local. Les choses fonctionnent bien et il est maintenant temps de le montrer au client. J'ai utilisé git depuis le début, donc le transférer sur le serveur de développement était un jeu d'enfant. J'ai dupliqué la base de données locale et l'ai poussée manuellement sur le serveur de développement, ce qui était assez facile, sauf que je devais modifier manuellement quelques entrées d'URL.

Ma question est la suivante: quel est le meilleur moyen de garder deux instances de WordPress synchronisées? Il me reste encore du travail à faire localement et la base de données va devoir être poussée à nouveau. Comment les autres personnes gèrent-elles cela de manière automatisée?

Je pensais écrire un hook git pour extraire les données MySQL lorsque I Push de ma machine locale et disposer d’un hook à l’autre extrémité pour importer les données lorsque le serveur de développement extrait. Cependant, si je fais cela, je devrai me préoccuper des modifications apportées à la table wp_options.

Est-ce que quelqu'un a des stratégies pour rendre ce genre de chose facile?

Merci!

4
Gavin Anderegg

En supposant que votre wp-config.php soit déjà en place et dans l’ordre:

  • Étape 1. Mysqldump votre base de données de développement
  • Étape 2. Remplacez toutes les instances de development.domain.com par production.domain.com ^^
  • Étape 3. Connectez-vous à MySQL, exécutez une commande SOURCE pour importer des données, par exemple. source /path/to/file

^^ Comment remplacer toutes les instances de l'ancien domaine par le nouveau: (1) Copiez le script ci-dessous. (2) chmod +x it. (3) Exécutez-le.

Utilisation: ./script.sh development-dump.sql > production-dump.sql

#!/bin/sed -f
s/'\([^\\']*\)development.domain.com\([^\\']*\)'/'\1production.domain.com\2'/g
3
editor

Cela a été discuté à quelques reprises, donc je suggérerais de passer en revue ces discussions, puis de poser des questions sur les lacunes que vous voyez encore.

Quel processus utilisez-vous pour le développement WordPress?

Comment: déplacer facilement une installation WordPress du développement à la production?

En fin de compte, la synchronisation de la base de données est le problème le plus difficile. Je ne m'inquiète tout simplement pas à ce sujet. J'importerai certains messages/CPT si nous avons un nouveau type de contenu, mais c'est à peu près tout le reste que je fais manuellement.

4
curtismchale