source: trunk/import/datenbank_anlegen.sh @ 299

Revision 299, 4.2 KB checked in by frank.jaeger, 7 years ago (diff)

In Trigger-Function "update_fields_beziehungen" eine Fehlerbehandlung. Beim Anlagen der DB auch Sichten definieren.

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##  2013-01-15 Zwischenstopp um Meldungen lesen zu können bevor, sie aus dem Scrollbereich verschwinden
10##  2013-04-16 Vers.-Nr. "0.7" aus dem Dateinamen von Schema und Keytable entfernt, sichten_wms.sql
11##  2013-10-16 F.J. krz: Neues Sript "pp_praesentation_sichten.sql" für Reparatur Präsentationsobjekte Straßennamen
12##  2013-12-03 F.J. krz: Script "sichten.sql" einbeziehen. Darin View "doppelverbindung" fuer WMS FS-Kommunal.
13
14POSTNAS_HOME=$(dirname $0)
15MANDANT_HOME=$PWD
16
17# Koordinatensystem fuer Geometriefelder:
18EPSG=25832
19
20## Dialog mit Anwender
21function get_db_config(){
22        # welches Datenbank-Template?
23        echo ""
24        echo "Datenbank-Template fuer die neue ALKIS-Datenbank?"
25        echo " (einfach Enter fuer die Voreinstellung template_postgis)"
26        read DBTEMPLATE
27        : ${DBTEMPLATE:="template_postgis"}
28#
29        # Name der neuen ALKIS-Datenbank
30        until [ -n "$DBNAME" ]
31        do
32                echo ""
33                echo "Name der ALKIS-Datenbank?"
34                read DBNAME
35        done
36        echo ""
37        echo "Datenbank-User?  (Dieser muss eine gleichnamige Service-Datenbank haben)"
38        read DBUSER
39#
40        until [ "$JEIN" = "j" -o "$JEIN" = "n" ]
41        do
42                echo ""
43                echo "Datenbank $DBNAME wird GELOESCHT und neu angelegt  - j oder n?"
44                read JEIN
45        done
46}
47#
48## aller Laster  ANFANG
49get_db_config;
50if test $JEIN != "j"
51then
52        echo "Abbruch"
53        exit 1
54fi
55
56cd $POSTNAS_HOME
57
58if ! [ -e alkis-trigger.sql ]; then
59        if ln -s alkis-trigger-kill.sql alkis-trigger.sql; then
60                echo "** Symlink zu alkis-trigger-kill.sql (KEINE HISTORIE) angelegt"
61        else
62                echo "** alkis-trigger.sql FEHLT!"
63                exit 1
64        fi
65fi
66
67## Datenbank-Connection:
68# -h localhost
69con="-p 5432 -d ${DBNAME} "
70echo "connection " $con
71echo "******************************"
72echo "**  Neue ALKIS-Datenbank    **"
73echo "******************************"
74echo " "
75echo "** Loeschen Datenbank " ${DBNAME}
76## Hier wird vorausgesetzt, dass der User eine Service-DB hat, die seinen Namen traegt
77echo  "DROP database ${DBNAME};" | psql -p 5432 -d ${DBUSER} -U ${DBUSER}
78echo " "
79echo "** Anlegen (leere) PostGIS-Datenbank"
80createdb --port=5432 --username=${DBUSER} -E utf8  -T ${DBTEMPLATE} ${DBNAME}
81echo " "
82echo "** Anlegen der Datenbank-Struktur fuer PostNAS (alkis_PostNAS_0.7_schema.sql)"
83psql $con -v alkis_epsg=$EPSG -U ${DBUSER} -f alkis_PostNAS_schema.sql >$MANDANT_HOME/log/schema.log
84
85# Zwischenstopp. Die Ausgabe-Zeilen sind sonst nicht mehr lesbar.
86until [ "$CHECK" = "j" -o "$CHECK" = "n" ]
87do
88    echo " "
89        echo "    Weiter?  'j' (weiter) oder 'n' (Abbruch)"
90        read CHECK
91done
92if test $CHECK != "j"; then
93        echo " Abbruch!"
94        exit 1
95fi
96
97echo " "
98echo "** Anlegen der Datenbank-Struktur - zusaetzliche Schluesseltabellen"
99## Nur die benoetigten Tabellen fuer die Buchauskunft
100psql $con -U ${DBUSER} -f alkis_PostNAS_keytables.sql >$MANDANT_HOME/log/keytables.log
101
102echo " "
103echo "** Anlegen Optimierung Nutzungsarten (nutzungsart_definition.sql)"
104psql $con -U ${DBUSER} -f nutzungsart_definition.sql
105
106echo " "
107echo "** Laden NUA-Metadaten (nutzungsart_metadaten.sql) Protokoll siehe log"
108psql $con -U ${DBUSER} -f nutzungsart_metadaten.sql >$MANDANT_HOME/log/meta.log
109
110echo " "
111echo "** Anlegen Post Processing Tabellen (pp_definition.sql)"
112psql $con -U ${DBUSER} -f pp_definition.sql >$MANDANT_HOME/log/pp_definition.log
113
114echo " "
115echo "** Anlegen Post Processing Views (pp_praesentation_sichten.sql)"
116psql $con -U ${DBUSER} -f pp_praesentation_sichten.sql >$MANDANT_HOME/log/pp_praesentation_sichten.log
117
118echo " "
119echo "** Definition von Views fuer Kartendienste (sichten_wms.sql)"
120psql $con -U ${DBUSER} -f sichten_wms.sql >$MANDANT_HOME/log/sichten_wms.log
121
122echo " "
123echo "** Definition von Views (sichten.sql)"
124psql $con -U ${DBUSER} -f sichten.sql >$MANDANT_HOME/log/sichten.log
125
126echo " "
127echo  "COMMENT ON DATABASE ${DBNAME} IS 'ALKIS - Konverter PostNAS 0.7';" | psql -p 5432 -d ${DBNAME} -U ${DBUSER}
128echo " "
129
130echo "** Berechtigung (grant.sql) Protokoll siehe log"
131psql $con -U ${DBUSER} -f grant.sql >$MANDANT_HOME/log/log_grant.log
132echo "
133***************************
134**  Ende Neue Datenbank  **
135***************************
136"
Note: See TracBrowser for help on using the repository browser.