source: trunk/import/datenbank_anlegen.sh @ 276

Revision 276, 3.6 KB checked in by frank.jaeger, 7 years ago (diff)

Views um Thema "Bodenschätzung" erweitert, Mapbender-Nav korrigiert, sichten.sql wurde geteilt

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