J'ai un site qui est en direct et les gens mettent activement du contenu. Cependant, j'ai dû faire quelques changements dans l'environnement de développement, ce qui m'a pris quelques semaines. Les modifications ont nécessité l'installation de nouveaux modules et la suppression des anciens, ce qui a bien sûr modifié le contenu et la structure de la base de données.
Ma question est de savoir comment télécharger ce site dans l'environnement en direct et mettre à jour la base de données sans écraser le nouveau contenu que les nouveaux utilisateurs ont ajouté au cours des deux dernières semaines?
Réponses:
Thomas Zahreddin a raison. Mais en fonction de ce qui a changé ("ça m'a pris quelques semaines ..."), il y a plus de choses à considérer.
settings.php
.Si vous n'avez pas de cas trivial, je suggère de tester votre procédure à l'avance. Et bien sûr, effectuez des sauvegardes de fichiers et de données avant de commencer sur le système en direct. (La sauvegarde et la migration sont utiles ici.)
la source
Vous devez vérifier ce que vous voulez changer:
la source
J'ai la même procédure à gérer au travail lors de la mise à jour des sites Web Drupal. Le plus gros problème est que Drupal ne fait pas vraiment un excellent travail pour garder le contenu et les logiques à part dans sa base de données.
Les réponses données par Thomas Zagreddin et BetaRide suffiraient à vous donner une meilleure chance de terminer la migration avec succès. Il n'y a vraiment pas de Saint Graal à ce sujet.
Je voudrais cependant vous donner une astuce de développement qui m'évite beaucoup de mal à maintenir nos sites à jour: essayez de garder vos logiques autant que possible dans votre code (modules / thèmes). Par exemple, essayez d'éviter autant que possible de créer des vues. Parfois, vous devrez le faire, mais cela nécessitera une autre mise à jour de la base de données ...
Utilisez la gestion du contrôle de source!
Si vous pouvez tout garder dans le code (bien sûr, vous ne pourrez toujours pas le faire), vous pouvez simplement utiliser un SCM comme Git , SubVersion ou Mercury pour mettre à jour votre source, et dans le pire des cas, revenir à un version précédente de votre source si votre mise à jour ne fonctionne pas comme prévu.
Et, bien sûr, comme abordé dans les réponses précédentes: sauvegarde, sauvegarde, sauvegarde, sauvegarde ...
la source
Pour la plupart des modifications, vous pouvez utiliser le module Fonctionnalités Ce module ne peut modifier que les modifications, qu'avez-vous fait sur l'environnement local.
Sinon, vous pouvez utiliser ce beau module Sauvegarder et migrer Installez simplement ce module en ligne d'abord, puis effectuez la sauvegarde de tout le contenu ou de la base de données existants, puis déployez-le sur local. Ensuite, modifiez ce que vous voulez en local, prenez à nouveau une sauvegarde de votre local, puis déployez-le en ligne.
la source
J'ai juste eu le même problème. Pour le résoudre, j'ai remarqué que le seul contenu que j'avais en direct qui n'était pas en développement était de nouveaux détails utilisateur. Je suis simplement allé dans l'onglet Personnes de l'administrateur et j'ai copié les détails des personnes dans le développement. En dev, je viens de les saisir sans aucune sorte d'automatisation. Ainsi, la prochaine fois que je téléchargerai depuis le développeur, les détails des personnes seront naturellement corrects et ne seront pas écrasés.
la source