Skip to content

Instantly share code, notes, and snippets.

@peterkraume
Created January 9, 2020 11:00
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save peterkraume/6646acca841274516c41a3644010bbae to your computer and use it in GitHub Desktop.
Save peterkraume/6646acca841274516c41a3644010bbae to your computer and use it in GitHub Desktop.
DDEV custom command for .ddev/commands/host
#!/bin/bash
## Description: Fetch and import production data
## Usage: import-production-data
## Example: "ddev import-production-data"
SSH_CREDENTIALS="user@domain.tld"
PRODUCTION_DB_USER="user"
PRODUCTION_DB_PASSWORD="pw"
PRODUCTION_DB_HOSTNAME="domain.tld"
PRODUCTION_DB_DATABASE="db-name"
PATH_FILEADMIN="/path/to/production/public/fileadmin/"
# save current database
ddev snapshot
# fetch and import production database
ssh $SSH_CREDENTIALS "mysqldump -u$PRODUCTION_DB_USER -p$PRODUCTION_DB_PASSWORD -h$PRODUCTION_DB_HOSTNAME -l --opt --skip-extended-insert $PRODUCTION_DB_DATABASE | gzip -3 -c" > production-database.sql.gz && \
ddev import-db --src=production-database.sql.gz && \
rm production-database.sql.gz
# rsync fileadmin from production
rsync -av --progress $SSH_CREDENTIALS:$PATH_FILEADMIN $DDEV_APPROOT/$DDEV_DOCROOT/fileadmin/
# clear all caches
ddev exec ./typo3cms cache:flush
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment