我在Pantheon上,我想运行一些自定义SQL查询来清理我的dev服务器。
我在一个文件中有查询,custom_sanitize.sqlqueries。
看起来是这样的:
UPDATE user__field_useragent SET field_useragent_value = 'Sputnik';
UPDATE node__field_useragent SET field_useragent_value = 'Sputnik';
UPDATE node_revision__field_useragent SET field_useragent_value = 'Sputnik';
TRUNCATE TABLE watchdog;我想用一个Drush命令在远程服务器上运行这些查询。
我用续集专业版连接到数据库,剪切并粘贴查询并运行它们。
基于Drush 8 sql-查询文档,我试图像这样执行我的文件:
drush @alias.dev sql-query --file=custom_sanitize.sqlqueries这是失败的:
failed to open stream: No [warning]
such file or directory drush.inc:904我认为这是因为我的本地drush调用服务器上的远程drush,并且文件路径是不同的。
因此,我尝试以这样的方式输入文件的内容:
`drush @alias.dev sql-connect` < custom_sanitize.sqlqueries这在以下消息中失败:
-bash: PTY: command not found于是,我尝试在命令行输入查询:
drush @alias.dev sql-query "UPDATE node_revision__field_useragent SET field_useragent_value = 'Sputnik';TRUNCATE TABLE watchdog;"这也失败了:
PTY allocation request failed on channel 0
Command not supported as typed.我也试过使用hook_drush_sql_sync_sanitize(),但我无法让万神殿上的钻洞把我的钩子拿起来。
发布于 2017-05-27 13:43:35
Pantheon的终端可以跳过钻孔,并将SQL直接输送到"mysql连接命令“中。
echo 'UPDATE users SET pass="12345"' | `terminus connection:info mysite.dev --field=mysql_command`((来源)
发布于 2016-02-20 10:49:58
为此,可以使用sql-cli命令:
drush @alias.dev sql-cli < custom_sanitize.sql
发布于 2016-02-20 15:28:21
您可以使用数据库_消毒速效实例,每次将数据库拖到开发环境中时都会自动进行消毒。
如果这不适用于你,打开一张与万神殿的票,我将在星期一看(如果其他人没有帮助你更早)。
https://drupal.stackexchange.com/questions/192093
复制相似问题