#!/bin/bash
# Скрипт удаляет из базы справочники, перечисленные в DIC_TABLES,
# он используется только при работе с тестовой базой.
DBUSER=$USER

## обработка командной строки
i=$#;  # число параметров в командной строке
while [ $i -ge "0" ]; do
    is="no"
    case $1 in
    -db) # имя БД
        is="yes"; DBNAME=$2 ;;
    -user | -U) # пользователь БД
        is="yes"; DBUSER=$2 ;;
    esac
    if [ $is == "yes" ]; then
        shift
        i=`expr $i - 1`
    fi
    shift
    i=`expr $i - 1`
done

if [ -z "$DBNAME" ]; then
    echo "Не задано имя БД." >& 2
    exit 1
fi

# загрузка справочников, если они есть в архиве
DIC_TABLES="sd_group_user sd_ident sd_local_conf_type sd_operation_type \
    sd_payments sd_rule_type sd_tazscards sd_conf_local sd_user_list sd_group_rule \
    sd_payprices \
    pd_products pd_prodprices pd_loyalty pd_tanks_list \
    gd_tax gd_group_list gd_list gd_actions_adm gd_actions \
    gd_identification gd_manager gd_store gd_supplier gd_actions_adm_m \
    gd_actions_save_m gd_actions_save_d \
    gd_count"

tmpfile=/tmp/$(date +%y%m%d%H%M%S).deld
if [ -f $tmpfile ]; then
    rm $tmpfile
fi
for i in $DIC_TABLES; do
    echo $i >> $tmpfile
done
for i in $(tac $tmpfile); do
    echo -n "Удаление таблицы $i: "
    psql $DBNAME -U $DBUSER -h localhost -c "delete from $i"
done
rm $tmpfile
