Il est préférable de rogner la grande base de données lors du vidage en utilisant drush sql-dump
pour 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.php
comme:
$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-sync
ou sql-dump
entre 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: