如何从ddev导出数据库?

时间:2018-05-01 20:42:12

标签: ddev

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

如何导出数据库?

4 个答案:

答案 0 :(得分:5)

从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

此外,不要忘记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

或Drupal / drush用户:

ddev ssh
drush sql-dump --gzip >.tarballs/my-project-db.sql.gz

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

然而,我很期待export-db command来到这里。

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

答案 1 :(得分:2)

我想拥有TYPO3吊坠对此非常有用,这要感谢Outdoorsman对上述GitHub Issue的评论。

  

室外人写道:

     

我来自TYPO3 CMS世界,也同意这将是   好东西。我目前正在使用

ddev ssh and ./vendor/bin/typo3cms database:export | gzip > project_name_db.sql.gz

  

如果是typo3_console   扩展程序是通过composer安装的。

答案 2 :(得分:1)

您还可以使用Drupal console

ddev start
ddev ssh    
drupal database:dump
drupal database:restore --file db-2018-07-04-11-31-22.sql

答案 3 :(得分:0)

要了解有关@rfay答案的更多信息,我通常更喜欢drush cli,但是,它基于偏好。

ddev start
ddev ssh
drush sql:dump --result-file=../db-export.sql