[167] | 1 | @echo off |
---|
| 2 | REM ------------------------------------------------ |
---|
| 3 | REM Konvertierung von ALKIS NAS-Format nach PosGIS - |
---|
| 4 | REM Teil 1: Eine neue PostGIS-Datenbank anlegen - |
---|
| 5 | REM ------------------------------------------------ |
---|
| 6 | REM |
---|
| 7 | REM Delete old Logfiles |
---|
| 8 | del ..\log_*.txt |
---|
| 9 | del ..\err_*.txt |
---|
| 10 | |
---|
| 11 | echo ============================================================================== |
---|
| 12 | REM Disclaimer |
---|
| 13 | echo. |
---|
| 14 | echo DISCLAIMER: PostNAS Skript zum Anlegen einer Datenbank. USE AT YOUR OWN RISK! |
---|
| 15 | echo Das Skript erzeigt eine Datenbank und spielt das PostNAS Schema ein |
---|
| 16 | echo |
---|
| 17 | echo. |
---|
| 18 | echo Voraussetzungen: |
---|
| 19 | echo - laufenden PostgreSQL 8.x Datenbank |
---|
| 20 | echo - Databankbenutzer mit Schreibzugriff |
---|
| 21 | echo - PATH Variable zu psql |
---|
| 22 | echo. |
---|
| 23 | echo Ist alles vorbereitet? |
---|
| 24 | echo Diese Argumente müssen übergeben werden: |
---|
| 25 | echo "%0 <HOST> <PORT> <DBNAME> <DBTEMPLATE> <DBUSER> <DropDB ja/nein>" |
---|
| 26 | echo. |
---|
| 27 | echo z. B. |
---|
| 28 | echo %0 %DBHOST% %DBPORT% alkis_import template_postgis alkis_user ja |
---|
| 29 | |
---|
| 30 | echo. |
---|
| 31 | echo ============================================================================== |
---|
| 32 | echo. |
---|
| 33 | REM 5 Params expected |
---|
| 34 | if not %5x==x goto ARGSSUPPLIED |
---|
| 35 | |
---|
[168] | 36 | echo Die Parameter wurden nicht alle übergeben. Bitte rufen Sie das Skript mit Parametern auf. |
---|
| 37 | echo Das Skript wird beendet |
---|
| 38 | goto :PARAMETER_EMPTY |
---|
[167] | 39 | |
---|
| 40 | :ARGSSUPPLIED |
---|
| 41 | set DBHOST=%1 |
---|
| 42 | set DBPORT=%2 |
---|
| 43 | set DBNAME=%3 |
---|
| 44 | set DBTEMPLATE=%4 |
---|
| 45 | set DBUSER=%5 |
---|
| 46 | set DROPDB=%6 |
---|
| 47 | echo. |
---|
[168] | 48 | if %DBHOST%x==x goto PARAMETER_EMPTY |
---|
| 49 | if %DBPORT%x==x goto PARAMETER_EMPTY |
---|
| 50 | if %DBUSER%x==x goto PARAMETER_EMPTY |
---|
| 51 | if %DBNAME%x==x goto PARAMETER_EMPTY |
---|
| 52 | if %DBTEMPLATE%x==x goto PARAMETER_EMPTY |
---|
| 53 | if %DBUSER%x==x goto PARAMETER_EMPTY |
---|
[167] | 54 | |
---|
| 55 | :CHOICES |
---|
| 56 | REM dbtype and encoding are fixed |
---|
| 57 | set USEDBTYPE=PostgreSQL |
---|
| 58 | set USEDBENC=UTF-8 |
---|
| 59 | echo. |
---|
| 60 | echo Ihre Angaben: |
---|
| 61 | echo Databasetype: %USEDBTYPE% |
---|
| 62 | echo Encoding: %USEDBENC% |
---|
| 63 | echo Database Host: %DBHOST% |
---|
| 64 | echo Database Port: %DBPORT% |
---|
| 65 | echo Database Name: %DBNAME% |
---|
| 66 | echo Database Template: %DBTEMPLATE% |
---|
| 67 | echo Database User: %DBUSER% |
---|
| 68 | echo Datenbank %DBNAME% löschen: %DROPDB% |
---|
| 69 | echo. |
---|
| 70 | echo Installation starten? |
---|
| 71 | echo. |
---|
| 72 | rem delete ARG#5 |
---|
| 73 | shift |
---|
| 74 | set /p START_INSTALL="(y)es or (n)o? " |
---|
| 75 | if %START_INSTALL%x==x goto CHOICES |
---|
| 76 | if %START_INSTALL%==y goto START_INSTALL |
---|
| 77 | goto PREP |
---|
| 78 | :START_INSTALL |
---|
| 79 | rem echo on |
---|
| 80 | |
---|
| 81 | :INSTPOSTGRESQL |
---|
| 82 | REM do these exist? |
---|
| 83 | psql --version 2> nul 1> nul |
---|
| 84 | if NOT %ERRORLEVEL% == 0 goto PGNOTFOUND |
---|
| 85 | |
---|
| 86 | if %DROPDB%==ja goto START_DROPDB |
---|
[168] | 87 | if %DROPDB%==j goto START_DROPDB |
---|
| 88 | if %DROPDB%==yes goto START_DROPDB |
---|
| 89 | if %DROPDB%==y goto START_DROPDB |
---|
[167] | 90 | if %DROPDB%==no goto START_CREATE |
---|
| 91 | goto :START_CREATE |
---|
| 92 | :START_DROPDB |
---|
| 93 | echo dropdb |
---|
| 94 | echo dropdb -U %DBUSER% -h %DBHOST% -p %DBPORT% %DBNAME% |
---|
| 95 | dropdb -U %DBUSER% -h %DBHOST% -p %DBPORT% %DBNAME% |
---|
| 96 | |
---|
| 97 | |
---|
| 98 | :START_CREATE |
---|
| 99 | echo creatingdb |
---|
| 100 | echo createdb -U %DBUSER% -h %DBHOST% -p %DBPORT% -T %DBTEMPLATE% -E UTF8 %DBNAME% |
---|
| 101 | createdb -U %DBUSER% -h %DBHOST% -p %DBPORT% -T %DBTEMPLATE% -E UTF8 %DBNAME% |
---|
| 102 | psql -U %DBUSER% -h %DBHOST% -p %DBPORT% -f alkis_PostNAS_0.6_schema.sql %DBNAME% 2>> ..\log_alkis_schema.txt |
---|
| 103 | psql -U %DBUSER% -h %DBHOST% -p %DBPORT% -f alkis_PostNAS_0.6_keytables.sql %DBNAME% 2>> ..\log_alkis_keytables.txt |
---|
| 104 | psql -U %DBUSER% -h %DBHOST% -p %DBPORT% -f nutzungsart_definition.sql %DBNAME% 2>> ..\log_alkis_nutzungsart_definition.txt |
---|
| 105 | psql -U %DBUSER% -h %DBHOST% -p %DBPORT% -f nutzungsart_metadaten.sql %DBNAME% 2>> ..\log_alkis_nutzungsart_metadaten.txt |
---|
| 106 | psql -U %DBUSER% -h %DBHOST% -p %DBPORT% -f gemeinden_definition.sql %DBNAME% 2>> ..\log_alkis_gemeinden_definition.txt |
---|
| 107 | psql -U %DBUSER% -h %DBHOST% -p %DBPORT% -f sichten.sql %DBNAME% 2>> ..\log_alkis_sichten.txt |
---|
[168] | 108 | echo Die Datenbank wurde erzeugt. Prüfen Sie die Logdateien. |
---|
[167] | 109 | goto END: |
---|
| 110 | |
---|
| 111 | |
---|
| 112 | |
---|
| 113 | :PGNOTFOUND |
---|
| 114 | echo Sorry, psql not found, must be in PATH-Variable, exiting... |
---|
| 115 | goto END |
---|
| 116 | |
---|
[168] | 117 | :PARAMETER_EMPTY |
---|
| 118 | echo ============================================================================== |
---|
| 119 | echo Sorry, Parameter müssen übergeben werden |
---|
| 120 | echo Diese Argumente müssen übergeben werden: |
---|
| 121 | echo "%0 <HOST> <PORT> <DBNAME> <DBTEMPLATE> <DBUSER> <DropDB ja/nein>" |
---|
| 122 | echo. |
---|
| 123 | echo z. B. |
---|
| 124 | echo %0 %DBHOST% %DBPORT% alkis_import template_postgis alkis_user ja |
---|
| 125 | echo. |
---|
| 126 | echo ============================================================================== |
---|
| 127 | |
---|
[167] | 128 | REM End, keep Terminal session open |
---|
| 129 | :END |
---|
| 130 | |
---|
[168] | 131 | |
---|
[167] | 132 | echo. |
---|
| 133 | pause |
---|