summaryrefslogtreecommitdiff
path: root/deps/drassil/mysql-tools/mysql-import
diff options
context:
space:
mode:
Diffstat (limited to 'deps/drassil/mysql-tools/mysql-import')
-rw-r--r--deps/drassil/mysql-tools/mysql-import109
1 files changed, 109 insertions, 0 deletions
diff --git a/deps/drassil/mysql-tools/mysql-import b/deps/drassil/mysql-tools/mysql-import
new file mode 100644
index 0000000000..ad05e1bd05
--- /dev/null
+++ b/deps/drassil/mysql-tools/mysql-import
@@ -0,0 +1,109 @@
+#!/bin/bash
+#
+# * Copyright (C) 2007 - 2015 Hyperweb2 All rights reserved.
+# * GNU General Public License version 3; see www.hyperweb2.com/terms/
+
+echo "starting import process.."
+# check config from same folder and include only if exists
+CONF_FILE=$MT_DIR"/mysql-config"
+if [ -f "$CONF_FILE" ]; then
+ source "$CONF_FILE"
+fi;
+
+#overwrite configs if file exists and variables are defined
+if [ ! -z "$4" ]; then
+ if [ -e "$4" ]; then
+ source "$4"
+ else # if 4th parameter is not a file, then try to eval
+ eval "$4"
+ fi;
+fi;
+
+source $MT_DIR"/shared-def"
+
+if [ ! -z "$1" ]; then
+ MYSQL_DB=$1;
+fi
+
+# Table prefix ( to implement )
+PFX=
+
+# par 1 : db_name
+function checkdb {
+ # Check if database exists
+ err=`echo "quit" | $(eval "$MYSQL$OPTS '$1'") 2>&1`
+ if [ $? != 0 ]; then
+ if echo "$err" | grep -q "Access denied"; then
+ echo -e "\nDATABASE $1 EXISTS BUT USER $MYSQL_USER DOES NOT HAVE ACCESS TO IT, ABORTING"
+ exit
+ fi
+ echo -n "[creating $1]"
+ if ! echo "CREATE DATABASE $1;" | $(eval "$MYSQL$OPTS" ) 2>/dev/null ; then
+ echo -e "\nDATABASE $1 DOES NOT EXIST AND I FAILED TO CREATE IT, ABORTING"
+ exit
+ fi
+ fi
+}
+
+#par1: is_text_file ; par2: file
+function import
+{
+ echo "Importing $2 into $MYSQL_DB (text: $1) ..."
+
+ SQL="SET FOREIGN_KEY_CHECKS = 0;"
+ #eval "$MYSQL$OPTS -e \"SET FOREIGN_KEY_CHECKS = 0\" '$MYSQL_DB'" #disable foreign check
+
+ FILE=$2
+ if (($1 != 0)); then
+ #eval "$MYSQLIMPORT$OPTS $IMPORTOPTS_TEXT '$MYSQL_DB' $2"
+ TABLE=${FILE##*/}
+ TABLE=${TABLE%.txt}
+ SQL+="LOAD DATA LOCAL INFILE '$2' INTO TABLE $MYSQL_DB.$TABLE;"
+ else
+ #eval "$MYSQL$OPTS '$MYSQL_DB'" < "$2"
+ SQL+="SOURCE $2;"
+ fi
+ #eval "$MYSQL$OPTS -e \"SET FOREIGN_KEY_CHECKS = 1\" '$MYSQL_DB'" #enable foreign check
+ SQL+="SET FOREIGN_KEY_CHECKS = 1";
+
+ eval "$MYSQL$OPTS -e \"$SQL\" '$MYSQL_DB'"
+
+ echo " done"
+}
+
+if [ ! -z "$1" ]; then
+ DB=$1;
+fi
+
+checkdb $MYSQL_DB
+
+if [ ! -z "$2" ]; then
+ tables=$(echo $2 | tr "," "\n")
+fi
+if [ ! -z "$3" ]; then
+ FULL=$3;
+fi
+
+if (($FULL != 0)); then
+ echo "importing full world file"
+ $(eval "$MYSQL$OPTS '$MYSQL_DB'") < $FPATH
+else
+ if [ ! -z "$2" ]; then
+ import "0" "$TPATH/$2.sql" # TODO we should check if it's a set of tables before
+ if (($TEXTDUMPS != 0)); then
+ for x in $TPATH/*.txt; do
+ import "1" "$x"
+ done
+ fi
+ else
+ for x in $TPATH/*.sql; do
+ import "0" "$x"
+ done
+
+ if (($TEXTDUMPS != 0)); then
+ for x in $TPATH/*.txt; do
+ import "1" "$x"
+ done
+ fi
+ fi
+fi