Transfert de base de données
L'outil de transfert de base de données permet à un administrateur de migrer son site Moodle d'une base de données à une autre, par exemple de MySQL à Postgres.
L'outil est actuellement classé comme une fonctionnalité expérimentale et se trouve dans Paramètres > Administration du site > Développement > Expérimental > Migration de base de données. Il y a aussi un script en ligne de commande dans admin/tool/dbtransfer/cli/migrate.php.
L'outil dbtransfer utilise les définitions de schéma XMLDB de Moodle et les plugins installés pour récupérer les données d'une base de données et en transférer une autre.
Quelques problèmes que vous pourriez rencontrer lors de l'utilisation de cet outil :
- S'il y a un objet dans la base de données courante (colonnes, tables,...) qui n'est pas inclus dans le schéma XMLDB ou l'inverse, dbtransfer ne sera pas exécuté tant que ces objets ne seront pas supprimés (cela peut arriver si Moodle a été mis à jour depuis des versions précédentes, si un plugin n'a pas été désinstallé correctement...).
- S'il y a des données encodées incorrectes dans la base de données actuelle, le transfert se plantera ; dans ce cas, trouvez et corrigez les données de dérangement et relancez l'outil dbtranfer.
- Si vous essayez de migrer une instance volumineuse, cela prendra un certain temps, et il peut y avoir un certain délai d'attente (base de données, PHP, Apache) qui peut interrompre la migration.
Transfert de base de données CLI
- Mettre la plateforme d'origine en Mode de maintenance
- Désactiver le Cron pour éviter toute écriture dans la base de données durant le processus
- Lancer le script avec cette commande :
sudo -u www-data /usr/bin/php /path/to/moodle/admin/tool/dbtransfer/cli/migrate.php --dbtype='pgsql' --dbhost='x.x.x.x' --dbname='moodleDbName' --dbuser='moodleUser' --dbpass='***' --dbport=5432 --prefix='mdl_' --dbsocket='/var/run/postgresql'
Pour plus d'informations, taper sudo -u www-data /usr/bin/php /path/to/moodle/admin/tool/dbtransfer/cli/migrate.php --help
En fonction de la taille de votre base de données, le processus peut mettre plusieurs heures.
Voir aussi
- MDL-34441 mise en oeuvre de l'outil de transfert de finition dbtransfert
Utilisation des discussions du forum Moodle :