Skip to content
Snippets Groups Projects

On empty dumps: detect if source db is empty too

Merged Hahn Axel (hahn) requested to merge 5198-detect-empty-mysql-db into master
1 file
+ 15
4
Compare changes
  • Side-by-side
  • Inline
+ 15
4
@@ -13,7 +13,8 @@
# 2022-02-14 ah v2.0 rewrite with class like functions
# 2022-02-18 ah v2.1 WIP: added counters
# 2022-03-17 v2.2 WIP: add lines with prefix __DB__
# 2022-03-21 v2.3 Check if the created dump contains "insert"
# 2022-03-21 v2.3 Check if the created dump contains "insert"
# 2022-03-24 v2.4 On empty dumps: detect if source db is empty too
# ================================================================================
if [ -z "$LOCALDUMP_LOADED" ]; then
@@ -94,9 +95,19 @@ function mysql.db.dump(){
fetchrc >/dev/null
if [ $myrc -eq 0 ]; then
zgrep -iE "(CREATE|INSERT)" "$_dumpfile" >/dev/null
fetchrc >/dev/null
test $myrc -ne 0 && echo "ERROR: no data - the dump doesn't contain any CREATE or INSERT statement."
if ! zgrep -iE "(CREATE|INSERT)" "$_dumpfile" >/dev/null
then
typeset -i local _iTables
_iTables=$( mysql --skip-column-names --batch -e "use $_dbname; show tables ;" | wc -l )
if [ $_iTables -eq 0 ];
then
echo -n "NO DATA in database"
else
echo "ERROR: no data - the dump doesn't contain any CREATE or INSERT statement."
# force an error
false; fetchrc >/dev/null
fi
fi
fi
test $myrc -eq 0 && mysql_COUNT_DUMPS+=1
Loading