[Résolu] [Résolu] [Résolu] [Résolu] Comment effectué une migration partielle de Drupal à Drupal (developpement à production active)

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour à tous,

Après quelques recherches infructueuses, je sollicite votre aide pour me débloquer d'une situation difficile, pour laquelle je n'ai pas trouvé d'exemple approchants.

Je travaille sur un Drupal (extranet) qui sert à enregistrer l'objet des demandes reçues par les chargés d'accueil de notre association (activités proposées au public, demande type, etc...), en direct. J'ai ajouté de nouveaux types de contenu à ce Drupal, à d'autres fins. Ces types de contenu utilisent ceux, déjà existants (partenaires, entreprises, centre de formation, demandes reçues, etc...). Pour ce faire, j'ai utilisé Backup & Migrate, il y a une quinzaine de jours environ, pour importer mon site prod vers une version en développement, sur mon ordinateur. Jusque là, tout va bien.

J'ai fait mes modifications (ajouts de modules et de fonctionnalités, création de vues diverses et variées et de nouveaux type de contenu). Maintenant, il me faut importer ce travail sur le site en production. Le problème est que ce site est que ce Drupal est très actif, puisque les chargés d'accueil saisissent, en permanence, des données (jusqu'à une cinquantaine de saisie par jour, environ).

Points positifs:
- ces saisies ne se font que dans 2 types de contenu
- aucun de ces 2 types de contenu n'a subi de modification

Comment puis-je importer mon Drupal Test sur mon Drupal Prod, tout en conservant les données saisies, ces 15 derniers jours, dans ces 2 types de contenu?

Je vous remercie infiniment pour vos réponses. Toutes vos réponses seront les bienvenus car je suis bloqué et je bloque tout le monde, depuis une semaine, à cause de ce problème. :-s

Version de Drupal : 
Tags : 

Bonjour,

Vous pouvez limiter ce que vous sauvegardez dans votre backup and migrate. Vous n'êtes pas obligés d'expédier tous vos champs (première sélection possible) ou tous les contenus (deuxième sélection possible). Allez dans Advanced Backup pour établir un profil qui conviendrait à votre situation.

Bonjour Marina,

Merci beaucoup pour votre réponse. En effet, j'ai déjà vu cette possibilité. Malheureusement, soit je ne sais pas bien configurer le formulaire avancé de Backup & Migrate, soit ce n'est pas le bon moyen dans ce cas précis.

J'ai essayé plusieurs combinaisons:
- Ignorer les tables correspondant aux 2 types de contenu concernés
- Ignorer le contenu des tables en question

Dans les 2 cas, j'ai écrasé le contenu.

En effet, je me suis fait, sur ma machine, une image de mon serveur prod pour simuler ce genre de choses.

M'y suis-je bien pris? ai-je omis des étapes, selon vous?

Je vous remercie encore pour votre réponse.

PS: J'ai aussi tenté un essais en faisant un Backup puis, en important les tables correspondant aux 2 types de contenu, avec phpmyadmin... sans succès.

Vous avez parfaitement raison, je viens de faire toute une série de tests et il est impossible de restaurer seulement une ou plusieurs tables (je n'avais jamais eu besoin de cet export partiel).

Le problème a été abordé dans la issue queue mais ne semble pas faire l'objet d'une réponse quelconque autre que cet échange :

http://drupal.org/node/881092

Merci,

Je vais tenter quelque chose. La lecture de votre commentaire me donne une idée. En effet, il est complexe de connaître les tables à garder lors d'un export (surtout pour les tables "système") et je ne maîtrise pas tout (loin de là même) du comportement de Backup & Migrate.

Cependant, il reste possible d'exclure des tables précises dont on comprend, plus ou moins, les relations. Il faut donc procéder par exclusion (c'était déjà ma démarche de départ).

Je vais essayer de faire un nouvel import complet, à partir de mon site "prod", vers mon site "semi-prod". Puis, je vais tenter un export partiel du site 'test" vers mon site "semi prod" mais, cette fois-ci, je vais exclure non-seulement les 2 tables correspondant aux types de contenu en question, mais aussi celles correspondant aux champs qui les composent.

Je vous fais un retour...

C'est ce que j'ai fait et cela n'a pas fonctionné vraiment. Le module dit avoir effectué la restauration sans encombres, l'inscription dans le journal le confirme et pourtant, rien ne se passe.

Ce qui est surprenant est que le backup comprend une commande de drop de la table existante qui semble ne pas s'exécuter au moment de la restauration, ce qui fait que tout le reste est vain (puisque le mouvement semble être 1) destruction de la table si elle existe 2) Création d'une table fraiche 3) Remplissage de celle-ci avec les bonnes données)

Voici la solution... Elle est bête et simple mais bon... Il fallait le savoir ou, dans notre cas, la tenter.

Mais avant... Quelques explications (suspens... tan tan tan!)...

Tout l'enjeu ici était d'identifier la (ou les) table(s) qui contenait les données que nous souhaitions préserver... si tant est que ces données n'étaient pas trop dispersées entre plusieurs tables, suivant des modalités trop complexes. C'est ainsi que j'avais pensé à exclure la table correspondant aux "type de contenu" que je souhaitais préserver. Mais cela n'a pas marché (non pas à cause d'un mauvais fonctionnement du Backup, mais parce que ces tables ne contenaient pas les données souhaitées). C'est aussi pourquoi la méthode ayant recours à PhpMyAdmin, dans les mêmes conditions n'a pas fonctionné, non-plus.

Du coup, ayant une version semi-prod pouvant souffrir de toutes les erreurs possibles, j'ai tenté d'exclure du Backup la table "node"... que je considérais être une table "système" dangéreuse à toucher mais, une idée m'a fait dire que si mes données n'étaient où je pensais, c'est certainement parmi les noeuds que j'allais les trouver puisque c'était des noeuds que je cherchais à protéger.

Et cela à marcher! :-D

Donc la solution consiste tout simplement à faire un Backup de la version Test, en y excluant la table intitulé "node".

Puisque cette table existe déjà sur la version Prod et que la restauration avec B&M ne supprime pas les tables existantes lorsqu'elles ne sont pas dans la sauvegarde, il suffit, ensuite de Restaurer ce Backup sur la version en Prod et le tour est joué.

ATTENTION: Il faut exclure la Table "node" et non se contenter de juste exclure son contenu!!! Dans ce cas, l'effet est inversé, on récupère un site où tous les noeuds ont disparu!!! :-s

Voilà... Je vous souhaite, à tous, une bonne soirée et je vous remercie, en particulier, Marina.

A bientôt!!! :-D

Mauvaise nouvelle! Après une semaine d'acharnement... Cette solution n'est pas suffisante. En effet, ce n'est qu'une partie de la solution. Il faut encore creuser, mais je n'y suis pas encore.

La discussion est donc, encore, ouverte. :-(

En clair, les noeuds apparaissent bien dans les listes mais, lorsqu'on tente de les ouvrir, on obtient une magnifique "page non-trouvée". :-s

Au vu des difficultés rencontrées, il apparaît donc que la seule solution qui vaille (c'est une hypothèse) est d'importer les types de contenu les uns après les autres... soit... pour moi... une petite trentaine. :-s

Mais, à n'en pas douter, on y perd beaucoup moins de temps.

Bonne journée à tous! ;-)

Bon... Voilà. Si vous devez faire ce type d'opération, j'ai trouvé une solution qui soulage bien, c'est le module "briefcase". D'après mes premiers tests, il fonctionne bien. Il faut juste faire attention à changer les droits des fichiers, quand on les déplace d'un serveur à un autre.

Voici le lien: http://drupal.org/project/briefcase

Bonne journée à tous!