mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-12-05 17:18:13 +01:00
159 lines
3.9 KiB
Bash
159 lines
3.9 KiB
Bash
#!/bin/bash
|
|
#------------------------------------------------------
|
|
# Script to purge and init a database with demo values.
|
|
# Note: "dialog" tool need to be available.
|
|
#
|
|
# Regis Houssin - regis@dolibarr.fr
|
|
# Laurent Destailleur - eldy@users.sourceforge.net
|
|
#------------------------------------------------------
|
|
# WARNING: This script erase all data of database
|
|
# with data into dump file
|
|
#------------------------------------------------------
|
|
|
|
|
|
export dumpfile="mysqldump_dolibarr_3.1.0.sql"
|
|
export mydir=`echo "$0" | sed -e 's/initdemo.sh//'`;
|
|
if [ "x$mydir" = "x" ]
|
|
then
|
|
export mydir="."
|
|
fi
|
|
export id=`id -u`;
|
|
|
|
|
|
# ----------------------------- check if root
|
|
if [ "x$id" != "x0" -a "x$id" != "x1001" ]
|
|
then
|
|
echo "Script must be ran as root"
|
|
exit
|
|
fi
|
|
|
|
# ----------------------------- input file
|
|
DIALOG=${DIALOG=dialog}
|
|
DIALOG="$DIALOG --ascii-lines"
|
|
fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
|
|
trap "rm -f $fichtemp" 0 1 2 5 15
|
|
$DIALOG --title "Init Dolibarr with demo values" --clear \
|
|
--inputbox "Input dump file :" 16 55 $dumpfile 2> $fichtemp
|
|
valret=$?
|
|
case $valret in
|
|
0)
|
|
dumpfile=`cat $fichtemp`;;
|
|
1)
|
|
exit;;
|
|
255)
|
|
exit;;
|
|
esac
|
|
|
|
# ----------------------------- database name
|
|
DIALOG=${DIALOG=dialog}
|
|
DIALOG="$DIALOG --ascii-lines"
|
|
fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
|
|
trap "rm -f $fichtemp" 0 1 2 5 15
|
|
$DIALOG --title "Init Dolibarr with demo values" --clear \
|
|
--inputbox "Mysql database name :" 16 55 dolibarrdemo 2> $fichtemp
|
|
valret=$?
|
|
case $valret in
|
|
0)
|
|
base=`cat $fichtemp`;;
|
|
1)
|
|
exit;;
|
|
255)
|
|
exit;;
|
|
esac
|
|
|
|
# ---------------------------- database port
|
|
DIALOG=${DIALOG=dialog}
|
|
fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
|
|
trap "rm -f $fichtemp" 0 1 2 5 15
|
|
$DIALOG --title "Init Dolibarr with demo values" --clear \
|
|
--inputbox "Mysql port (ex: 3306):" 16 55 3306 2> $fichtemp
|
|
|
|
valret=$?
|
|
|
|
case $valret in
|
|
0)
|
|
port=`cat $fichtemp`;;
|
|
1)
|
|
exit;;
|
|
255)
|
|
exit;;
|
|
esac
|
|
|
|
# ---------------------------- compte admin mysql
|
|
DIALOG=${DIALOG=dialog}
|
|
fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
|
|
trap "rm -f $fichtemp" 0 1 2 5 15
|
|
$DIALOG --title "Init Dolibarr with demo values" --clear \
|
|
--inputbox "Mysql root login (ex: root):" 16 55 root 2> $fichtemp
|
|
|
|
valret=$?
|
|
|
|
case $valret in
|
|
0)
|
|
admin=`cat $fichtemp`;;
|
|
1)
|
|
exit;;
|
|
255)
|
|
exit;;
|
|
esac
|
|
|
|
# ---------------------------- mot de passe admin mysql
|
|
DIALOG=${DIALOG=dialog}
|
|
fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
|
|
trap "rm -f $fichtemp" 0 1 2 5 15
|
|
$DIALOG --title "Init Dolibarr with demo values" --clear \
|
|
--inputbox "Password for Mysql root login :" 16 55 2> $fichtemp
|
|
|
|
valret=$?
|
|
|
|
case $valret in
|
|
0)
|
|
passwd=`cat $fichtemp`;;
|
|
1)
|
|
exit;;
|
|
255)
|
|
exit;;
|
|
esac
|
|
|
|
# ---------------------------- chemin d'acces du repertoire documents
|
|
#DIALOG=${DIALOG=dialog}
|
|
#fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
|
|
#trap "rm -f $fichtemp" 0 1 2 5 15
|
|
#$DIALOG --title "Init Dolibarr with demo values" --clear \
|
|
# --inputbox "Full path to documents directory (ex: /var/www/dolibarr/documents)- no / at end :" 16 55 2> $fichtemp
|
|
|
|
#valret=$?
|
|
|
|
#case $valret in
|
|
# 0)
|
|
#docs=`cat $fichtemp`;;
|
|
# 1)
|
|
#exit;;
|
|
# 255)
|
|
#exit;;
|
|
#esac
|
|
|
|
# ---------------------------- confirmation
|
|
DIALOG=${DIALOG=dialog}
|
|
$DIALOG --title "Init Dolibarr with demo values" --clear \
|
|
--yesno "Do you confirm ? \n Dump file : '$dumpfile' \n Dump dir : '$mydir' \n Mysql database : '$base' \n Mysql port : '$port' \n Mysql login: '$admin' \n Mysql password : '$passwd'" 15 55
|
|
|
|
case $? in
|
|
0) echo "Ok, start process...";;
|
|
1) exit;;
|
|
255) exit;;
|
|
esac
|
|
|
|
# ---------------------------- run sql file
|
|
if [ "x$passwd" != "x" ]
|
|
then
|
|
export passwd="-p$passwd"
|
|
fi
|
|
#echo "mysql -P$port -u$admin $passwd $base < $mydir/$dumpfile"
|
|
#mysql -P$port -u$admin $passwd $base < $mydir/$dumpfile
|
|
echo "mysql -P$port $base < $mydir/$dumpfile"
|
|
mysql -P$port -u$admin $passwd $base < $mydir/$dumpfile
|
|
|
|
echo "Dolibarr data demo has been loaded."
|
|
echo
|