Migration 尝试将drush迁移升级与DDEV一起使用时连接被拒绝(Drupal 7到8升级)
我正在尝试使用DDEV在本地测试我的跑步俱乐部的Drubal 7网站的升级 我有一个包含网站副本的容器,下面的结果来自DDEV describe命令:Migration 尝试将drush迁移升级与DDEV一起使用时连接被拒绝(Drupal 7到8升级),migration,drupal-8,drush,ddev,Migration,Drupal 8,Drush,Ddev,我正在尝试使用DDEV在本地测试我的跑步俱乐部的Drubal 7网站的升级 我有一个包含网站副本的容器,下面的结果来自DDEV describe命令: URLs ---- https://drupalTest.ddev.site:8003 https://127.0.0.1:32773 http://drupalTest.ddev.site:8002 http://127.0.0.1:32774 MySQL/MariaDB Credent
URLs
----
https://drupalTest.ddev.site:8003
https://127.0.0.1:32773
http://drupalTest.ddev.site:8002
http://127.0.0.1:32774
MySQL/MariaDB Credentials
-------------------------
Username: "db", Password: "db", Default database: "db"
or use root credentials when needed: Username: "root", Password: "root"
Database hostname and port INSIDE container: db:3306
To connect to db server inside container or in project settings files:
mysql --host=db --user=db --password=db --database=db
Database hostname and port from HOST: 127.0.0.1:32771
To connect to mysql from your host machine,
mysql --host=127.0.0.1 --port=32771 --user=db --password=db --database=db
Other Services
--------------
MailHog (https): https://drupalTest.ddev.site:8026
MailHog: http://drupalTest.ddev.site:8025
phpMyAdmin (https): https://drupalTest.ddev.site:8037
phpMyAdmin: http://drupalTest.ddev.site:8036
我还有一个包含Drupal8(新安装)的容器
我在让drush迁移升级命令工作时遇到问题,这是
ddev exec drush migrate-upgrade --legacy-db-url=mysql://db:db@127.0.0.1:32771/db --legacy-root=https://drupalTest.ddev.site:8003 --configure-only
刚刚得到这个错误:
SQLSTATE[HY000] [2002] Connection refused [error]
欢迎来到ddev,马克
您的问题是您使用了错误的旧数据库url。数据库的凭据将是:
主机:旧版安装的容器名称(如ddev--db)(不是127.0.0.1)
端口:不需要指定,因为它是默认的3306(在docker容器空间内)
看起来你想要这样的东西:
ddev exec drush迁移升级--遗留数据库url=mysql://db:db@ddev drupaltest db/db—传统根目录=https://drupalTest.ddev.site:8003 --仅配置
请参阅“不同的项目能否相互通信”下的
此外,您绝对需要阅读,这有助于理解迁移环境中的所有这些内容
我注意到,您似乎在为不同的项目使用不同的http端口——您根本不需要这样做。使用ddev的正常方式是所有端口都位于端口80和443上(如果存在冲突,也可以设置其他端口)。您不需要设置router_http_port或router_https_port就可以在同一台主机上运行多个项目。非常有用,我确信下一个问题是新问题,但当我运行该命令时,会收到大约20条警告消息,所有消息都是相同的:htmlspecialchars()希望参数1是字符串,数组给定[警告]php:424我用谷歌快速搜索了一下,虽然不太明显,但它与特殊的字符有关。我会继续用谷歌搜索!老Drupal经常有这样的消息,我已经看到很多了。你可能不想解决这个问题。但请确保您使用的是当前的drush—您的站点是否在目标项目中安装了当前的drush<代码>ddev编写器需要drush/drush。否则,使用您提供的命令,您将只使用捆绑在web容器中的drush8。如果您进行了站点安装,那么drush启动器会找到安装了drush的站点。谢谢@rfay现在看起来很明显,我使用的是drush的旧版本。使用--destination=somedir,它们将转到web/somedir。没有--destination他们转到settings.ddev.php中定义的sites/default/files/sync。我今天看了一眼,所有的.yml文件都在/tmp文件夹中,(我确实运行了几次)也许我只是有时间,谢谢:)
SQLSTATE[HY000] [2002] Connection refused [error]