最近因為換新筆電 要裝開發環境

想把主機上的多個資料庫 複製到本機

寫了一個可以重複使用的腳本

會直接讀取 .env 檔案

把主機的 mysql db 複製到本機 laradock 內的 mysql

clone_production_database.sh

#!/bin/bash

set -e

SERVER_LARAVEL_APP_PATH='/home/codelove.tw'

echo Start exporting database on the server...

MAIN_TASK="cd ${SERVER_LARAVEL_APP_PATH}"
MAIN_TASK+=' && export $(grep -v "^#" .env | xargs)'
MAIN_TASK+=' && mysqldump --no-tablespaces -h ${DB_HOST} -u${DB_USERNAME} -p${DB_PASSWORD} ${DB_DATABASE} > ${DB_DATABASE}.sql'
ssh tony-main-server ${MAIN_TASK}

echo Start downloading database to the local...

export $(grep -v "^#" .env | xargs)
scp -r tony-main-server:${SERVER_LARAVEL_APP_PATH}/${DB_DATABASE}.sql .

echo Start importing database within the docker...

docker-compose -f ~/laradock-projects/laradock/docker-compose.yml exec -T mysql mysql -u${DB_USERNAME} -p${DB_PASSWORD} ${DB_DATABASE} < ${DB_DATABASE}.sql

echo Done.

因為我大多數專案的結構接近,這段腳本,只要修改 SERVER_LARAVEL_APP_PATH 變數,就可換專案使用

按讚的人:

共有 0 則留言