diff --git a/layerindex/tools/initial_db_dump.sh b/layerindex/tools/initial_db_dump.sh new file mode 100755 index 0000000..1675092 --- /dev/null +++ b/layerindex/tools/initial_db_dump.sh @@ -0,0 +1,67 @@ +#!/bin/sh + +# Dump database without user tables (for the purpose of creating a dump +# that can be imported into a fresh database) +# +# Copyright (C) 2019 Intel Corporation +# Author: Paul Eggleton +# +# Licensed under the MIT license, see COPYING.MIT for details + +if [ "$1" = "" ] ; then + echo "Please specify a database" + exit 1 +fi + +if [ "$2" = "" ] ; then + echo "Please specify an output file (.sql)" + exit 1 +fi + +if [ -f $2 ] ; then + echo "File $2 already exists" + exit 1 +fi + +if [ -f $2.gz ] ; then + echo "File $2.gz already exists" + exit 1 +fi + +# This will ask for the password twice, not much we can really do about +# that though +# First, get the structure without data +mysqldump $1 -u root -p --no-data > $2 +# Second, the data with a number of exclusions +mysqldump $1 -u root -p --no-create-info \ + --ignore-table=$1.auth_group \ + --ignore-table=$1.auth_group_permissions \ + --ignore-table=$1.auth_permission \ + --ignore-table=$1.auth_user \ + --ignore-table=$1.auth_user_groups \ + --ignore-table=$1.auth_user_user_permissions \ + --ignore-table=$1.layerindex_userprofile \ + --ignore-table=$1.layerindex_securityquestionanswer \ + --ignore-table=$1.layerindex_sitenotice \ + --ignore-table=$1.layerindex_layerupdate \ + --ignore-table=$1.layerindex_update \ + --ignore-table=$1.reversion_revision \ + --ignore-table=$1.reversion_version \ + --ignore-table=$1.rrs_maintainer \ + --ignore-table=$1.rrs_maintenanceplan \ + --ignore-table=$1.rrs_maintenanceplanlayerbranch \ + --ignore-table=$1.rrs_milestone \ + --ignore-table=$1.rrs_recipedistro \ + --ignore-table=$1.rrs_recipemaintainer \ + --ignore-table=$1.rrs_recipemaintainerhistory \ + --ignore-table=$1.rrs_recipemaintenancelink \ + --ignore-table=$1.rrs_recipeupgrade \ + --ignore-table=$1.rrs_recipeupstream \ + --ignore-table=$1.rrs_recipeupstreamhistory \ + --ignore-table=$1.rrs_release \ + --ignore-table=$1.django_session \ + --ignore-table=$1.django_admin_log \ + --ignore-table=$1.axes_accessattempt \ + --ignore-table=$1.axes_accesslog \ + >> $2 +gzip $2