Using Drush to sync databses (
drush sql-sync) is a valuable tool, but it is not always an efficient choice when dealing with large databases (think over 1GB). SQL Sync Pipe (
drush sql-sync-pipe) is a Drush command that provides an alternative for
drush sql-sync that streams the database dump directly from the source to the destination as opposed to
sql-sync saving the database dump, transferring it via rsync and then importing the dump file. As an added bonus it excludes cache tables by default.
Below are examples from the command's README, syncing the same 1.05Gib database using the two different methods:
Command: drush sql-sync @alias.dev @alias.sandbox --no-cache Transfer size: 88.1MiB (compressed using rsync) Import size: 1.05GiB Total time elapsed: 46 minutes 47 seconds
Command: drush sql-sync-pipe @alias.dev @alias.sandbox --progress Transfer size: 88.1MiB (sent compressed using gzip) Import size: 1.05GiB Import & transfer time: 27 minutes 05 seconds Total time elapsed: 30 minutes 35 seconds
What are you waiting for? Download and install SQL Sync Pipe and get started!
drush dl drush_sql_sync_pipe --destination=$HOME/.drush && drush cc drush