#!/bin/sh

set -e
. ${POPHOME:-@POPHOME@}/lib/pop_conf_sh

usage() {
cat >&2 <<END
Usage: $(basename $0)  -- Unterschieden POP-Config / Datenbank
    Datenbank   ... die analysiert werden soll
END
    exit 1
}

if [ "$DATAHOST" = $(hostname) -o "$DATAHOST" = $(hostname).$(dnsdomainname) ] ; then
	export DATAHOST=localhost
	export DATAHOST2=localhost
fi

what=
db=XYZZY
testdb="diff"
descr=$POPHOME/POP-Datenbank

ERR=$(tempfile)

T="$(getopt "d:f:h" "$@")" || usage
eval set -- "$T"
for i
do
    case "$i" in
    -h)
        usage ;;
    -d)
        shift; testdb="$1"; shift ;;
    -f)
        shift; descr="$1"; shift ;;
    --)
        shift; break ;;
    esac
done

if [ -n "$2" ] ; then usage; fi
if [ -n "$1" ] ; then db="$1"; fi

mysql -h$DATAHOST -utest -ptest -e"drop database if exists test_$testdb"
mysql -h$DATAHOST -utest -ptest -e"create database test_$testdb"

env DATAUSER=test DATAPASS=test DBDATABASE=test_$testdb \
dbbuild -g -f $descr >$ERR 2>&1
env DATAUSER=test DATAPASS=test DBDATABASE=test_$testdb \
dbbuild -ki -f $descr >$ERR 2>&1

env DATAUSER_TEST=test DATAPASS_TEST=test DBDATABASE_TEST=test_$testdb \
sql_diff -s TEST -d $db -ncakpmi

mysql -h$DATAHOST -utest -ptest -e"drop database test_$testdb"

exit 0


=cut

=head1 Name

dbdiffreport -- analysiert den Unterschied zwischen der POP-Config-
Datei und

=head1 Zusammenfassung

	dbdiffreport
	    -d NAME   verwende diese als temporäre Datenbank
		          ACHTUNG, wird GELÖSCHT
        -f DATEI  anstelle "POP-Datenbank"
		DATENBANK Datenbankname (aus /etc/pop.conf)

=head1 Beschreibung

Dieses Skript generiert aus der Datenbankbeschreibung eine
SQL-Datenbank, die dann mit der angegebenen Datenbank verglichen
wird. Der Output besteht aus SQL-Statements, die die bestehende
Datenbank so ändern, dass sie der Beschreibung entspricht.



=head2 Optionen

=item C<-d NAME> 

verwende die Datenbank NAME als temporäre Datenbank

Default: "test_diff".

=item C<-f DATEI> 

verwende diese Datei als Beschreibung.

Default: C<$POPHOME/POP-Datenbank>.

=back

=item C<DATENBANK> 

verwende die Datenbank NAME als Ziel. DATENBANK ist dabei ein in der
/etc/pop.conf auftretender Zusatz zu mindestens einer der
$DATA*-Variablen, also z. B. 
C<DATAHOST_DATENBANK=test.foobar.noris.de>.

Default: die produktive Datenbank.

=cut

