Il est préférable de rogner la grande base de données lors du vidage en utilisant drush sql-dumppour vider le fichier SQL. Cela vous donne l'avantage de spécifier les options supplémentaires pour ignorer les tables spécifiques lors du vidage (comme le cache ou la migration des tables).
Cela peut être spécifié dans la ligne de commande (voir :)drush help sql-dump ou le configurer dans votre fichier drushrc comme indiqué dans example.drushrc.phpcomme:
$options['structure-tables']['common'] = array('cache', 'cache_*', 'history', 'search_*', 'sessions', 'watchdog');
$options['skip-tables']['common'] = array('migration_*');
ou par hôte, comme si vous utilisez sql-syncou sql-dumpentre des télécommandes:
$aliases['global'] = array(
// These options will only be set if the alias is used with the specified command.
'command-specific' => array(
'sql-sync' => array(
'structure-tables-key' => 'common',
'skip-tables-key' => 'common',
'structure-tables' => array(
// You can add more tables which contain data to be ignored by the database dump
'common' => array('cache', 'cache_*', 'history', 'search_*', 'sessions', 'watchdog'),
),
'skip-tables' => array(
'common' =>array('migration_*'),
),
),
'sql-dump' => array(
'ordered-dump' => FALSE,
'structure-tables-key' => 'common',
'skip-tables-key' => 'common',
),
), // end: command-specific
);
Ensuite, vous pouvez charger ces paramètres dans votre hôte via:
$aliases['stage'] = array(
// ...
) + $aliases['global'];
Ensuite, vous pouvez essayer quelque chose comme:
drush @source sql-dump | drush @self sql-cli
Pour surveiller la progression, vous pouvez ajouter un visualiseur de tuyaux ( pv) entre les deux (comme ... | pv | ...).
Voir également: