Лучше обрезать большую базу данных по дампу, используя drush sql-dump
дамп файла SQL. Это дает вам преимущество, указывая дополнительные параметры для пропуска определенных таблиц при выгрузке (например, кеширование или перенос таблиц).
Это можно указать в командной строке (см . :)drush help sql-dump
или настроить в файле drushrc, как показано ниже example.drushrc.php
:
$options['structure-tables']['common'] = array('cache', 'cache_*', 'history', 'search_*', 'sessions', 'watchdog');
$options['skip-tables']['common'] = array('migration_*');
или для каждого хоста, например, если вы используете sql-sync
или sql-dump
между пультами:
$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
);
Затем вы можете загрузить эти настройки на ваш хост через:
$aliases['stage'] = array(
// ...
) + $aliases['global'];
Тогда вы можете попробовать что-то вроде:
drush @source sql-dump | drush @self sql-cli
Чтобы следить за прогрессом, вы можете добавить трубу просмотра ( pv
) между (как ... | pv | ...
).
Смотрите также: