#!/bin/bash

#
# Сценарий удаляет данные из БД.
# На вход подается дамп /tmp/aisexpert.fbk
# На выходе получаются: /tmp/aisexpert-clear.fbk, /tmp/aisexpert-clear.fdb
#

if [ "$(id -u)" -ne 0 ]; then
    echo "Error: Script must be running with root privileges"
    exit 1
fi

if [ ! -e /tmp/aisexpert.fbk ]; then
    echo "Error: File /tmp/aisexpert.fbk not found"
    exit 1
fi

rm -f /tmp/aisexpert.fdb
/opt/firebird/bin/gbak -c /tmp/aisexpert.fbk /tmp/aisexpert.fdb
chown :firebird /tmp/aisexpert.fdb

cat << EOF | /opt/firebird/bin/isql -b -m -m2 -u SYSDBA -p masterkey /tmp/aisexpert.fdb
delete from ERRORS;
delete from USERS;
delete from GROUPS;
delete from ROLES;
delete from SCORE_DATA;
delete from SCORES;
delete from TASKS;
delete from MODEL_AGGR__MSK_OT;
delete from MODEL_AGGR__CODE_LPU;
delete from MODEL_DICTIONARY;
delete from MODEL_DATA;
delete from MODELS;
delete from MODEL_XGB;
delete from REPORT_DATA;
delete from REPORTS;
COMMIT;
delete from SYNC_DATA;
delete from SYNC_TMP_DATA;
delete from SYNC_PLANNING;
COMMIT;
delete from EVENT_LOG;
delete from NSI_MKB;
delete from NSI_VIDMP;
delete from NSI_LPU;
delete from NSI_PROFILE;
COMMIT;
EOF

rm -f /tmp/aisexpert-clear.fbk
rm -f /tmp/aisexpert-clear.fdb

/opt/firebird/bin/gbak \
  -b /tmp/aisexpert.fdb /tmp/aisexpert-clear.fbk \
  -v -y /tmp/aisexpert-clear.log -user SYSDBA -pass masterkey

/opt/firebird/bin/gbak -c /tmp/aisexpert-clear.fbk /tmp/aisexpert-clear.fdb
chown :firebird  aisexpert-clear.fdb
