source: trunk/data/konvert/postnas_0.7/datenbank_anlegen.sh @ 194

Revision 193, 3.2 KB checked in by astrid.emde, 11 years ago (diff)

log-Dateien für die einzelnen Befehle eingefügt

Line 
1#!/bin/bash
2## -------------------------------------------------
3## Konvertierung von ALKIS NAS-Format nach PostGIS -
4## Teil 1: Eine neue PostGIS-Datenbank anlegen     -
5## -------------------------------------------------
6##
7## Stand:
8##  2012-02-10 PostNAS 07, Umbenennung
9##
10
11POSTNAS_HOME=$(dirname $0)
12MANDANT_HOME=$PWD
13EPSG=25832
14
15## Dialog mit Anwender
16function get_db_config(){
17        # welches Datenbank-Template?
18        echo ""
19        echo "Datenbank-Template fuer die neue ALKIS-Datenbank?"
20        echo " (einfach Enter fuer die Voreinstellung template_postgis)"
21        read DBTEMPLATE
22        : ${DBTEMPLATE:="template_postgis"}
23#
24        # Name der neuen ALKIS-Datenbank
25        until [ -n "$DBNAME" ]
26        do
27                echo ""
28                echo "Name der ALKIS-Datenbank?"
29                read DBNAME
30        done
31        echo ""
32        echo "Datenbank-User?  (Dieser muss eine gleichnamige Service-Datenbank haben)"
33        read DBUSER
34#
35        until [ "$JEIN" = "j" -o "$JEIN" = "n" ]
36        do
37                echo ""
38                echo "Datenbank $DBNAME wird GELOESCHT und neu angelegt  - j oder n?"
39                read JEIN
40        done
41}
42#
43## aller Laster  ANFANG
44get_db_config;
45if test $JEIN != "j"
46then
47        echo "Abbruch"
48        exit 1
49fi
50
51cd $POSTNAS_HOME
52
53if ! [ -e alkis-trigger.sql ]; then
54        if ln -s alkis-trigger-kill.sql alkis-trigger.sql; then
55                echo "** Symlink zu alkis-trigger-kill.sql (KEINE HISTORIE) angelegt"
56        else
57                echo "** alkis-trigger.sql FEHLT!"
58                exit 1
59        fi
60fi
61       
62
63## Datenbank-Connection:
64# -h localhost
65con="-p 5432 -d ${DBNAME} "
66echo "connection " $con
67echo "******************************"
68echo "**  Neue ALKIS-Datenbank    **"
69echo "******************************"
70echo " "
71echo "** Loeschen Datenbank " ${DBNAME}
72## Hier wird vorausgesetzt, dass der User eine Service-DB hat, die seinen Namen traegt
73echo  "DROP database ${DBNAME};" | psql -p 5432 -d ${DBUSER} -U ${DBUSER}
74echo " "
75echo "** Anlegen (leere) PostGIS-Datenbank"
76createdb --port=5432 --username=${DBUSER} -E utf8  -T ${DBTEMPLATE} ${DBNAME}
77echo " "
78echo "** Anlegen der Datenbank-Struktur fuer PostNAS (alkis_PostNAS_0.7_schema.sql)"
79psql $con -v alkis_epsg=$EPSG -U ${DBUSER} -f alkis_PostNAS_0.7_schema.sql >$MANDANT_HOME/log/schema.log
80echo " "
81echo "** Anlegen der Datenbank-Struktur - zusaetzliche Schluesseltabellen"
82## Nur die benoetigten Tabellen fuer die Buchauskunft
83psql $con -U ${DBUSER} -f alkis_PostNAS_0.7_keytables.sql >$MANDANT_HOME/log/keytables.log
84echo " "
85echo "** Anlegen Optimierung Nutzungsarten (nutzungsart_definition.sql)"
86psql $con -U ${DBUSER} -f nutzungsart_definition.sql
87echo " "
88echo "** Laden NUA-Metadaten (nutzungsart_metadaten.sql) Protokoll siehe log"
89psql $con -U ${DBUSER} -f nutzungsart_metadaten.sql >$MANDANT_HOME/log/meta.log
90echo " "
91echo "** Anlegen Post Processing (pp_definition.sql)"
92psql $con -U ${DBUSER} -f pp_definition.sql >$MANDANT_HOME/log/pp_definition.log
93echo " "
94echo "** Definition von Views (sichten.sql)"
95psql $con -U ${DBUSER} -f sichten.sql >$MANDANT_HOME/log/sichten.log
96echo " "
97echo  "COMMENT ON DATABASE ${DBNAME} IS 'ALKIS - Konverter PostNAS 0.7';" | psql -p 5432 -d ${DBNAME} -U ${DBUSER}
98echo " "
99echo "** Berechtigung (grant.sql) Protokoll siehe log"
100psql $con -U ${DBUSER} -f grant.sql >$MANDANT_HOME/log/log_grant.log
101echo " "
102echo "***************************"
103echo "**  Ende Neue Datenbank  **"
104echo "***************************"
Note: See TracBrowser for help on using the repository browser.