У нас есть множество настроек Drupal, и мы отправляем им команды с централизованного сервера. При передаче команд с сервера они находятся в этом формате -Ошибка запроса SQL в простых запросах на веб-сайте Drupal
drusha -v -d @website sql-query 'show tables;'
Однако я получаю ошибку -
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
Когда я иду на фактический сервер базы данных и вручную запускать команды , он отлично работает.
Я попытался переключить цитаты и удалить их вместе, вместе с удалением; в конце, но я получаю ту же ошибку каждый раз. Информация о базе данных, которую использует веб-сайт, верна. Любые другие команды запускаются с использованием этой функции псевдонимов (drush clear-cache и т. Д.), Поэтому я не думаю, что проблема связана с фактическим псевдонимом.
Есть ли у кого-нибудь идеи, почему это происходит?
EDIT - При переходе в --database = имя_базы_данный я получаю следующее сообщение об ошибке -
drusha -v -d @website sqlq -n "SHOW TABLES" --database=databasename
exception 'Drush\Sql\SqlException' with message 'Unable to find a [error]
matching SQL Class. Drush cannot find your database connection
details.' in
phar:///usr/local/bin/drush/commands/sql/sql.drush.inc:588
Stack trace:
#0 phar:///usr/local/bin/drush/commands/sql/sql.drush.inc(426):
drush_sql_get_class(NULL)
#1 [internal function]: drush_sql_query('SHOW', 'TABLES')
#2 phar:///usr/local/bin/drush/includes/command.inc(366):
call_user_func_array('drush_sql_query', Array)
#3 phar:///usr/local/bin/drush/includes/command.inc(217):
_drush_invoke_hooks(Array, Array)
#4 [internal function]: drush_command('SHOW', 'TABLES')
#5 phar:///usr/local/bin/drush/includes/command.inc(185):
call_user_func_array('drush_command', Array)
#6 phar:///usr/local/bin/drush/lib/Drush/Boot/BaseBoot.php(67):
drush_dispatch(Array)
#7 phar:///usr/local/bin/drush/includes/preflight.inc(66):
Drush\Boot\BaseBoot->bootstrap_and_dispatch()
#8 phar:///usr/local/bin/drush/includes/startup.inc(325):
drush_main()
#9 phar:///usr/local/bin/drush/drush(114): drush_startup(Array)
#10 /usr/local/bin/drush(10): require('phar:///usr/loc...')
EDIT2 - После того, как некоторые более бесполезные, я получил его на работу с таблицами шоу, прилагая все внутри одной, а затем двойной кавычки и переключения команды я побежал. Прямо сейчас, это моя команда -
ssh -q <webserverip> sudo -u apache /usr/local/bin/drush --root=/var/www/html/wwwroot/website/docroot/ sql-query "'UPDATE users SET mail='[email protected]' WHERE uid>1'"
Ошибка Сейчас я получаю -
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '@host WHERE uid>1' at line 1
Спасибо.
Удаление цитат дает ту же ошибку, а также что-то вроде этого - '' show tables '; '. Какая цитата - это то, о чем вы говорите, и куда ее переместить? –