Você sempre pode usar um arquivo de aliases drush no servidor dev e configurá-lo para ignorar as tabelas de cache ao executar o sql-sync. O seguinte criaria aliases para o servidor de desenvolvimento local e o servidor ativo remoto:
$aliases['dev'] = array(
'root' => '/var/www/devroot',
);
$aliases['live'] = array(
'root' => '/var/www/liveroot',
'remote-host' => 'www.mysite.com',
'remote-user' => 'exampleuser',
'command-specific' => array (
'sql-sync' => array (
'skip-tables-list' => 'cache,cache_menu',
),
),
);
Se você salvou isso no seu diretório pessoal em:
~/.drush/mysite.aliases.drushrc.php
então você pode chamar seu comando sql-sync assim:
drush sql-sync @mysite.live @mysite.dev
e ele deve pular as tabelas de cache (obviamente, eu listei apenas 2 lá, mas você pode colocar qualquer coisa lá, até adiciono watchdog).
Para obter mais informações sobre aliases e todas as várias opções, consulte o arquivo de exemplo em sua instalação do drush em drush / examples / example.aliases.drushrc.php
Como última observação para quem tenta usar o sql-sync, tive problemas de autenticação quando o executei pela primeira vez; portanto, se alguém tentar isso e receber erros sobre chaves públicas / privadas, faça o seguinte:
drush dl drush_extras
drush pushkey @mysite.live
drush @mysite.live status
O comando pushkey de drush_extras cria um par de chaves pública / privada e envia a chave pública ao servidor ativo. O último comando é apenas para verificar se funcionou.