migration - 尝试将 drush migrate-upgrade 与 DDEV 一起使用时连接被拒绝(Drupal 7 到 8 升级)
问题描述
我正在尝试使用 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 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
我还有一个装有 Drupal 8(全新安装)的容器。
URLs
----
https://drupal8migration.ddev.site:8017
https://127.0.0.1:32769
http://drupal8migration.ddev.site:8016
http://127.0.0.1:32770
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:32797
To connect to mysql from your host machine,
mysql --host=127.0.0.1 --port=32797 --user=db --password=db --database=db
Other Services
--------------
MailHog (https): https://drupal8migration.ddev.site:8026
MailHog: http://drupal8migration.ddev.site:8025
phpMyAdmin (https): https://drupal8migration.ddev.site:8037
phpMyAdmin: http://drupal8migration.ddev.site:8036
我在使 drush migrate-upgrade 命令工作时遇到问题,这是
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,马克!
您的问题是您在那里使用了错误的 --legacy-db-url 。数据库的凭据将是:
主机:旧版安装的容器名称(如 ddev--db)(不是 127.0.0.1) 端口:不需要指定,因为它是默认的 3306(在 docker 容器空间内)
所以看起来你想要这样的东西:
ddev exec drush migrate-upgrade --legacy-db-url=mysql://db:db@ddev-drupaltest-db/db --legacy-root=https://drupalTest.ddev.site:8003 --configure-only
请参阅“不同项目可以相互通信”下的常见问题解答
此外,您绝对想阅读Migrating from Drupal 6 to Drupal 8 Like a Boss,这有助于在迁移的上下文中理解所有这些内容。
我注意到您似乎为不同的项目使用不同的 http 端口 - 您根本不需要这样做。使用 ddev 的正常方法是将所有内容都放在端口 80 和 443 上(如果有冲突,也可以设置其他端口)。您无需设置 router_http_port 或 router_https_port 即可在同一主机上运行多个项目。
推荐阅读
- javascript - Summernote 编辑器无法使用嵌套表单
- java - 在 Spring Boot 中使用 PostgreSQL 驱动程序创建数据源时出现异常
- laravel - 如何重构此搜索过滤器查询?
- java - 数据溢出到下一页时的列拉伸类型问题
- javascript - 在meterial-ui中显示html表格
- android - 如何在 android 的 volley 中以 params 发送数组
- c - 将 C 指针交换到函数内的函数
- pug - 我不明白哈巴狗的这个语法错误是什么
- plot - 仅绘制一些音频信号样本的八度问题
- c# - C# Wpf 将服装样式设置为 ComboBoxItem