Использование drush для sql-синхронизации локально с удаленным, без удаленных двоичных файлов MySQL на удаленном


Я работаю с рабочей и промежуточной средой, в которой двоичные файлы MySQL (например, mysqldump) не установлены. PHP может нормально взаимодействовать с MySQL, но по причинам, которые не имеют отношения к делу, двоичные файлы не установлены.

Похоже, что при выполнении sql-синхронизации drush попытается подключиться по ssh к удаленному серверу, запустить дамп, затем выполнить rsync файла, а затем импортировать его. Есть ли способ избежать этого, может быть, способ сказать Drush, чтобы он выполнил всю базу данных операции на местном уровне? Моя рабочая станция имеет доступ к удаленным базам данных, поэтому она способна выполнять импорт mysql и создавать дампы в удаленных базах данных.

Я понимаю, что Drush не может учитывать все подобные крайние случаи. Интересно, знает ли кто-нибудь, есть ли обходные пути для этого или предложения? Я могу просто написать свои собственные сценарии для синхронизации баз данных, но хотел бы использовать drush.

 1
Author: Brian, 2013-11-13

1 answers

Drush версии 3 и далее (с помощью команды sql-sync) может копировать базу данных только с помощью исполняемого метода ssh+mysql, который вы описали выше. Если вы скачаете drush 2.1 (https://drupal.org/node/614830 ), вы найдете команду drush sql-load, которая работает так, как вы описываете. Это намного медленнее, чем sql-синхронизация, поэтому, если ваша база данных очень большая, вы можете счесть этот метод слишком громоздким. Однако, если это сработает для вас, вероятно, будет не очень сложно создать свой собственный внешний Командный файл Drush для обеспечения загрузки sql в более позднюю версию Drush.

 2
Author: greg_1_anderson, 2013-11-14 00:02:31