4

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

如何导出数据库?

4

4 回答 4

10

从 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 命令到达这里。

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

于 2018-05-01T20:42:11.890 回答
3

我认为拥有 TYPO3 挂件非常有用,感谢 Outdoorsman 对上述 GitHub 问题的评论。

户外人写道:

我来自 TYPO3 CMS 世界,也同意这将是一件好事。我目前使用

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

如果通过 composer 安装了typo3_console 扩展。

于 2018-08-26T10:03:25.363 回答
1

你也可以使用Drupal 控制台

ddev start
ddev ssh    
drupal database:dump
drupal database:restore --file db-2018-07-04-11-31-22.sql
于 2018-07-04T18:16:50.940 回答
0

为了更多地解释@rfay的答案,我通常更喜欢drush cli它,但是,它基于偏好。

ddev start
ddev ssh
drush sql:dump --result-file=../db-export.sql
于 2018-06-08T11:41:48.827 回答