Skip to content

Instantly share code, notes, and snippets.

@zidarsk8
Last active September 15, 2017 07:18
Show Gist options
  • Save zidarsk8/5a566125c7aa376c7f9b5b00b62ae454 to your computer and use it in GitHub Desktop.
Save zidarsk8/5a566125c7aa376c7f9b5b00b62ae454 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
set -o errexit
set -o nounset
SERVICE="${1}"
DEPLOY_PREFIX="extras/deploy"
source "$DEPLOY_PREFIX/$SERVICE/db_move"
# OLD_DB_INSTANCE_ID="ggrc-perf-db"
# NEW_DB_INSTANCE_ID="ggrc-perf-db-56"
# BUCKET_NAME="$SERVICE.appspot.com"
source "$DEPLOY_PREFIX/$SERVICE/settings.sh"
SERVICE_ACCOUNT_FILENAME="service-account"
ACCOUNT_FILE="$DEPLOY_PREFIX/$SERVICE/$SERVICE_ACCOUNT_FILENAME"
ACCOUNT="$(<$ACCOUNT_FILE)"
KEY_FILE="$DEPLOY_PREFIX/$SERVICE/$ACCOUNT.key"
echo "$SERVICE"
echo "$ACCOUNT_FILE"
echo "$ACCOUNT"
echo "$KEY_FILE"
gcloud config set project "$APPENGINE_INSTANCE"
gcloud auth activate-service-account "$ACCOUNT" --key-file="$KEY_FILE"
TIMESTAMP=$(date +%Y-%m-%d-%H-%M-%S)
BUCKET="gs://$BUCKET_NAME/${DB_NAME}-backup-${TIMESTAMP}.sql.gz"
# This should fail if the new database already exists
gcloud sql databases create "$DB_NAME" --instance="$NEW_DB_INSTANCE_ID"
gcloud sql instances export "$OLD_DB_INSTANCE_ID" "$BUCKET" --database="$DB_NAME"
gcloud sql instances import "$NEW_DB_INSTANCE_ID" "$BUCKET" --database="$DB_NAME"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment