Que faire quand vous souhaitez migrer les fichiers, noeuds, taxonomies, utilisateurs d'un site Drupal 5, 6, 7 vers Drupal 7 ? La réponse avec migrate_d2d dans ces slides, légèrement modifiées d'une discussion éclair que j'ai donnée au Meetup Drupal Paris en septembre 2013 à la Mairie du IIIème arrondissement.
Migrations Drupal-to-Drupal avec migrate_d2d - Drupal Meetup Paris Sept 2013
1. migrate_d2d – discussion éclair 1
Sept 2013 – Drupal Paris Meetup
migrate_d2d
« Drupal-to-Drupal data
migration »
2. migrate_d2d – discussion éclair 2
Sept 2013 – Drupal Paris Meetup
Une spécialisation de Migrate pour CMS
●
Migrate
CSV/XML/SQL.. => Drupal N
●
Migrate_d2d
Drupal 5/6/7(SQL & Files) => Drupal 7
●
Pas le seul module Migrate avec un CMS comme source:
●
wordpress_migrate
●
commerce_migrate
●
TYPO3_migrate
●
phpbb2drupal
3. migrate_d2d – discussion éclair 3
Sept 2013 – Drupal Paris Meetup
Principe
●
Migrate
●
1 Migration = 1 Source, 1 Destination, 1 Table de mapping des
champs
●
Migrate_d2d apporte de nouvelles classes à «raffiner»
●
DrupalNode|User|Role|Term|Comment|File*Source :
SQL (schéma Drupal 5,6,7) & Files
●
Destination : Drupal 7
●
Mapping des champs par défaut
●
Node : title, body, promote, status
●
Users : name, mail, password
●
...
4. migrate_d2d – discussion éclair 4
Sept 2013 – Drupal Paris Meetup
Installation & développement
●
Modules
●
migrate_d2d, migrate
●
UI : migrate_d2d_ui (pour débuter!), migrate_ui
●
BDD de la source settings.php
$databases['migrate_d6_database']['default'] = array(
'database' => 'drupal6',
'host' => 'example.com',
'driver' => 'pgsql',
...
);
●
Partir de migrate_d2d_example et rajouter des classes
héritant de Drupal*Migration
5. migrate_d2d – discussion éclair 5
Sept 2013 – Drupal Paris Meetup
Retour projet
●
Drupal 6 PostgreSQL => Drupal 7 MySQL
●
3 types de contenu, 0 taxonomie, 0 utilisateur
●
90 champs, 15 classes Migrate
●
1000 nodes = 5000 éléments de champs migrés
●
Temps estimé x3
●
Difficultés
●
Ordre : 1) Files, 2) Asset(médias), 3) Nodes, 4) Field collections
●
Compétence rare
●
Workbench moderation + Migrate = Etat « published » incertain
●
Field collection : update impossible, rollback node + FC
nécessaire
●
Redirect non-natifs : table url_alias => .htaccess