Tests de migration, oct et nov 2018

Le drupal 7 de prod (qui a presque 6 ans de vie, cf date création de l'admin) est passé vers 7.61.
Le drupal de destination de la 8.3.2 vers la 8.6.3 (sous ddev1, avec drush 9.4.0). Modules activés (v8, tous à jour): media_library, content_translation et bartik, pathauto 1.3 metatag 1.7 xmlsitemap 1.0-alpha3 et token 1.5 + migrate_plus et tools 4.0,  migrate_upgrade 3.0-rc5, migrate_file 1.1

Meme pour un site que l'on connait bien, il faut créer un fichier excel (volumétrie, noter les erreurs ou dépendances...). Les raisons qui m'ont obligée à le créer :

  • historique: la v7 est issue d'une migration (v6), des modules ont été désinstallés
    (cas de entityreference et son widget, qui fait qu'un champ field_de du bundle livres n'était pas affiché dans l'UI)
    Des types de contenus ont été créés en cours de route, et les livres ont été utilisés pour rassembler le tout. Il y a donc des articles créés avant la création de art-tech, des termes à déplacer...
    • filtres de texte et CKEditor : soucis filtre filter_null sur 3 filtres de texte sur 4
      module CKEditor Link Filter ? voir après le plugin cked pour le code
  • En gros: on a 14 vocabs (certains sont plats, d'autres non. leurs valeurs vid vont de 1 à 15), 10 types de contenus, 9 users pour 5 roles,
    • 35 champs persos : 9 ref vers file, 4 ref vers image, 3 texte, 18 ref vers termes (on va en laisser pas mal, par ex cf plus bas note commentaires)
      en base :
      • les tables field_config ont 35 lignes : on voit 8 types (file, ref term, list_boolean, txt...), gérés via 6 modules, 2 seulement marquées translatable,
    • des données en FR/EN/und :
      • 9 livres (certains fr, d'autres en, avec dessous tous types de bundle),
        • des bilingues : 5/113 sous "articles techniques" (ID 5 vfr et ID 113 v en), 21/76 FAQ (ID vfr/ven)
          créés bien plus tard : 24 lignes avec bid=1282 Livre Pi  + 1342 drupal + 1486
        • FR seul : bib 37
        • table book a 3 chp: mlid, nid contenu du node associé) et bid (entrée de livre, tq vu dans admin/content/book) ; 1385 lignes** dont 90% dans ces 3 là (voir tableau ci-dessous), et 10% sur les autres (40 lignes sous bib, 51 dans les 2 en anglais ...
          bid count(bid) = ** note
          5 468 Article tech
          21 226 Faq fr (sa v EN n'a que 21 nodes)
          1342 536 Drupal
               
          1282 24 Livre Pi (faire à la mano ?)
               

          Or, il y a probablement des nodes "plutot drupal" rangés sous Artiles techniques ou Faq etc...

      • 10 types de node_bundle mais avec cb de nodes par types ? Commandes passées sur la db (v7 importée nommée db7, table node) et résultats:
        Requetes SQL en db7
        Requete retourne
        SELECT type, count(type) FROM db7.node N GROUP by type;

        2 gd ens:

        • article 604, art_tech 377 et 287 p de book
        • page, cv, forums : <30
          et 53 forums
        SELECT * FROM db7.node where language='und'; 1345 fr, 60 en
        pour 45 und dont 5 art_tech + 1 pi + 1 caché ; la pluspart sur bib (FR seul)
        SELECT * FROM db7.book where bid=1282; 1282 est l'ID du Livre Pi
        24 lignes avec bid=1282 Livre Pi
        SELECT tid, vid, name, language, i18n_tsid FROM db7.taxonomy_term_data; tid id terme et vid du vocab'

        486 lignes :
        3 language : 238 und, 204 fr et 44 en

        SELECT * FROM db7.field_config where cardinality=-1;

         

         

        cardinality = nb valeurs max (dans admin/structure/types/manage/bundle/fields/field_perso)

        3 en illimité (-1): field_tags tag_pi et compitag ???
        1 seul inactif (field_de)
        field_archtechimg, field_artechfile et field_pifile en ont chacun 10 max



         
  • dans drupal 7 et 8, la gestion des commentaires diffère.
    • Dans drupal 7, la recherche n'indexait pas les commentaires. A ne pas importer en auto, car il y en a peu : ils ont été utilisés au début du site, et ont été par la suite laissé de coté.
    • Le projet bib comportait des champs dans les commantaires
    • admin/reports/fields ne montre pas tous les champs (cachés car module désactivé, liés à des modules, restes de la v6 migrée ? ....)

 

https://www.drupal.org/project/auditfiles existe en v7 et v8 : il compare les fichiers du dossier files avec la db.

https://www.drupal.org/project/migrate_plus
https://www.drupal.org/project/migrate_file

logo drush