我刚刚完成了 DDEV 设置,并且通过手动运行进行了多站点工作ddev import-db --target-db=[db-name]
。它工作得很好,但我想弄清楚如何从 Acquia 获取数据库拉取,以便在我可以指定要从中拉取的站点的地方工作。
我有这个脚本工作,但有没有办法用 DDEV 命令来做到这一点会更干净一点?
首先,我将 acquia.yaml 修改为:
environment_variables:
project_id: mysite.dev
uri: mysite.com
db_name: mysite_us
#uri: mysite.ca
#db_name: mysite_canada
#uri: mysite.co.uk
#db_name: mysite_unitedkingdom
# etc etc
db_pull_command:
command: |
# set -x # You can enable bash debugging output by uncommenting
ls /var/www/html/.ddev >/dev/null # This just refreshes stale NFS if possible
pushd /var/www/html/.ddev/.downloads >/dev/null
acli remote:drush -n ${project_id} -- sql-dump --extra-dump=--no-tablespaces --uri=${uri} >${db_name}.sql
然后我编写了以下脚本,我称之为:
./ddev-refresh-db.sh mysite_us mysite.com
#!/bin/bash
site="$1"
uri="$2"
ddev pull acquia
ddev import-db --target-db=${site} --src=.ddev/.downloads/${site}.sql
ddev drush --uri=${uri} cr
但是,这仍然需要我们在运行此命令之前更改 acquia.yaml 文件中的站点和 URI。
有没有办法将变量传递给ddev pull acquia
?还有一种方法可以模仿这个脚本使用真正的 DDEV 命令做什么?