#!/bin/bash set -e CONFIG_FILE=$1 INI_FILE=$2 DUMP_FILE=".dump.sql" echo "SELECT 1;" | mysql --defaults-file="$INI_FILE" >> /dev/null SCHEMAS=( $(jq -r ".schemas[]" "$CONFIG_FILE") ) mysqldump \ --defaults-file="$INI_FILE" \ --default-character-set=utf8 \ --no-data \ --comments \ --triggers --routines --events \ --databases \ ${SCHEMAS[@]} \ | sed 's/ AUTO_INCREMENT=[0-9]* //g' \ > "$DUMP_FILE" for SCHEMA in $(jq -r ".fixtures | keys[]" "$CONFIG_FILE"); do TABLES=( $(jq -r ".fixtures.$SCHEMA[]" "$CONFIG_FILE") ) echo "USE \`$SCHEMA\`;" >> "$DUMP_FILE" mysqldump \ --defaults-file="$INI_FILE" \ --no-create-info \ --skip-triggers \ $SCHEMA ${TABLES[@]} >> "$DUMP_FILE" done