Projekt: Hesla Jednoty bratrské/2016/hes16import

Z Wikiverzity
Jump to navigation Jump to search

hes16import[editovat]

#! /bin/bash
# Importuje databázi Losungen z formátu MS Access do MySQL pomocí utilit mdb-schema, mdb-export

YY=16		# dvojčíslí roku
USER=************
PSWD=************
DATABASE="hes$YY"
MDBLINK=losungen20$YY.mdb
CVSFILE=import.csv
HESSTRUCT=hes_struct.sql
LOADDATAINFILE=load_data_infile.sql

PHASE=$1
if [ -z $PHASE ]; then PHASE=1; fi

echo -e "\nLosungen 20$YY:\n============="
while :; do
  echo -n -e "\n*** Fáze $PHASE: "
  case $PHASE in
    1) echo -e "Předpokládám, že existuje databáze $DATABASE. Data budou později přepsána! ***\n"
	 echo "SHOW TABLES;" | mysql -u$USER -p$PSWD $DATABASE
	;;
    2) echo -e "Struktura databáze $MDBLINK ***\n"
	#ln -s ../*.mdb $MDBLINK
	mdb-schema $MDBLINK > losungen20$YY.schema
	less losungen20$YY.schema
	;;
    3) echo -e "Porovnání s loňskou strukturou losungen20$(($YY-1)).schema ***\n"
	diff -b -U0 losungen20$(($YY-1)).schema losungen20$YY.schema > diff.schema
	less diff.schema
	;;
    4) echo -e "Export dat z $MDBLINK do CVS souboru $CVSFILE ***\n";
	mdb-export -D %F $MDBLINK Losungen > $CVSFILE
	fromdos $CVSFILE
	less $CVSFILE
	;;
    5) echo -e "Vytvoření struktury databáze $DATABASE ***\n"
	mysql -u$USER -p$PSWD $DATABASE < $HESSTRUCT
	echo "SHOW TABLES;" | mysql -u$USER -p$PSWD $DATABASE
	;;
    6) echo -e "Import z $CVSFILE do databáze $DATABASE ***\n"
	# echo "mysql -u$USER -p$PSWD -v -v --show-warnings --local-infile $DATABASE < $LOADDATAINFILE"
	mysql -u$USER -p$PSWD -v -v --show-warnings --local-infile $DATABASE < $LOADDATAINFILE
	;;
    7) echo -e "Import univerzálních tabulek ***\n"
	mysql -u$USER -p$PSWD $DATABASE < comment_uni.sql
	mysql -u$USER -p$PSWD $DATABASE < day_cs.sql
	;;
    *) echo "KONEC"; exit;
  esac
  echo -n "Pokračovat? [y/n]";
  read INPUT
  if [ -n "$INPUT" ] && [ "$INPUT" != y ] && [ "$INPUT" != Y ]; then exit; fi
  PHASE=$(($PHASE + 1))
done