Zawsze możesz użyć pliku aliasów drush na serwerze deweloperskim i ustawić go tak, aby pomijał tabele pamięci podręcznej po uruchomieniu narzędzia sql-sync. Następujące elementy utworzyłyby aliasy dla lokalnego serwera deweloperskiego i zdalnego serwera na żywo:
$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',
),
),
);
Jeśli zapisałeś to w swoim katalogu domowym pod adresem:
~/.drush/mysite.aliases.drushrc.php
możesz wywołać komendę sql-sync w następujący sposób:
drush sql-sync @mysite.live @mysite.dev
i powinien pomijać tabele pamięci podręcznej (oczywiście wymieniłem tam tylko 2, ale można tam wstawić wszystko, nawet dodaję watchdoga).
Aby uzyskać więcej informacji na temat aliasów i wszystkich różnych opcji, sprawdź plik przykładowy w swojej instalacji drush na stronie drush / Examples / example.aliases.drushrc.php
Ostatnia uwaga dla każdego, kto próbuje użyć synchronizacji sql, miałem problemy z uwierzytelnianiem, kiedy ją uruchomiłem, więc jeśli ktoś spróbuje to zrobić i otrzyma błędy dotyczące kluczy publicznych / prywatnych, wykonaj następujące czynności:
drush dl drush_extras
drush pushkey @mysite.live
drush @mysite.live status
Polecenie pushkey z drush_extras tworzy parę kluczy prywatny / publiczny i przekazuje klucz publiczny do serwera na żywo. Ostatnim poleceniem jest sprawdzenie, czy zadziałało.