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

Revision 213, 3.5 KB checked in by astrid.emde, 11 years ago (diff)

Versionsnummer aus dem Dateinamen entfernt

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