Tốt hơn là cắt cơ sở dữ liệu lớn trên kết xuất bằng cách sử dụng drush sql-dump
để kết xuất tệp SQL. Điều này mang lại cho bạn lợi thế để chỉ định các tùy chọn bổ sung để bỏ qua các bảng cụ thể khi kết xuất (chẳng hạn như bộ đệm hoặc di chuyển bảng).
Điều này có thể được chỉ định trong dòng lệnh (xem drush help sql-dump
:) hoặc cấu hình nó trong tệp drushrc của bạn như được hiển thị example.drushrc.php
như sau:
$options['structure-tables']['common'] = array('cache', 'cache_*', 'history', 'search_*', 'sessions', 'watchdog');
$options['skip-tables']['common'] = array('migration_*');
hoặc trên mỗi cơ sở máy chủ như nếu bạn đang sử dụng sql-sync
hoặc sql-dump
giữa các điều khiển từ xa:
$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
);
Sau đó, bạn có thể tải cài đặt này vào máy chủ của mình thông qua:
$aliases['stage'] = array(
// ...
) + $aliases['global'];
Sau đó, bạn có thể thử một cái gì đó như:
drush @source sql-dump | drush @self sql-cli
Để theo dõi tiến trình, bạn có thể thêm trình xem đường ống ( pv
) ở giữa (như ... | pv | ...
).
Xem thêm: