如何从ddev导出数据库?

rfa*_*fay 2 ddev

ddev目前缺少一个export-db命令(参见https://github.com/drud/ddev/issues/767)

如何导出数据库?

rfa*_*fay 6

从ddev v1.4.0(2018-11-14)开始,有一个ddev export-db命令.你可以做这些事情(来自ddev export-db -h):

ddev export-db >/tmp/db.sql.gz
ddev export-db --gzip=false >/tmp/db.sql
ddev export-db -f /tmp/db.sql.gz
Run Code Online (Sandbox Code Playgroud)

另外,不要忘记ddev snapshot,这是一种快速转储数据库的快速方法,但它不像基于文本的转储那样可移植.(见ddev snapshot -hddev restore-snapshot -h.)

容器内技术的原始答案: 我一直在做的是:

ddev ssh
mkdir /var/www/html/.tarballs
mysqldump db | gzip >/var/www/html/.tarballs/db.sql.gz
# or with explicit authentication
mysqldump -udb -pdb -hdb db | gzip >/var/www/html/.tarballs/db.sql.gz
Run Code Online (Sandbox Code Playgroud)

或者Drupal/drush用户:

ddev ssh
drush sql-dump --gzip >.tarballs/my-project-db.sql.gz
Run Code Online (Sandbox Code Playgroud)

这将转储放在项目的.tarballs目录中供以后使用(它在主机上).

但是,当它到达时,我期待着export-db命令.

另请注意,从v1.1.0开始,您可以使用该ddev snapshot命令在.ddev/db_snapshots目录中保存数据库的副本.它不是文本.sql.gz文件,但它是一个很好的保存数据库.