Advertisement
Guest User

Untitled

a guest
Nov 28th, 2016
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. @ECHO OFF
  2.  
  3. SETLOCAL
  4.  
  5. ECHO Initializing environment
  6. REM overwrite log
  7. CALL:SETTINGS > log.log 2>&1
  8.  
  9. ECHO Parsing shape files
  10. REM append to log
  11. CALL:PARSE_SHAPE_FILES >> log.log 2>&1
  12.  
  13. ECHO Dropping database
  14. REM append to log
  15. CALL:DROP_DB >> log.log 2>&1
  16.  
  17. ECHO Initializing database
  18. REM append to log
  19. CALL:SETUP_DB >> log.log 2>&1
  20.  
  21.  
  22. REM ||                              SET ENVIRONMENT                                   ||
  23. REM ------------------------------------------------------------------------------------
  24. :SETTINGS
  25.  
  26. REM Only these two should be changed, the rest of the settings should remain intact
  27. SET pguser=postgres
  28. SET pgpassword=postgres
  29.  
  30.  
  31. REM Path to where shapefile loader
  32. SET SHP2PGSQL=C:\Program Files\PostgreSQL\9.5\bin\shp2pgsql.exe
  33.  
  34. REM Path to interactive PSQL terminal
  35. SET PSQL=C:\Program Files\PostgreSQL\9.5\bin\psql.exe
  36.  
  37. REM Do not alter these. Points to the path for shapefile import folder
  38. REM and sql file folder where Import_shapefiles.bat is located.
  39. REM Folder path for sql command files
  40.  
  41. SET SHP_FILE_PATH=%~dp0\SHP_FILES
  42. SET TEMP_SQL_FILE_PATH=%~dp0\TEMP_SQL_FILES
  43. SET LOG_PATH=%~dp0\SQL_LOGS
  44.  
  45. REM Postgresql: server host name, server port number, server username, server password
  46. REM database name and schema, SRID for shape files, name of the geometry column
  47.  
  48. SET pghost=localhost
  49. SET pgschema=public
  50.  
  51. REM DB for our project
  52. SET pgdb=nnaat
  53. SET pgport=5432
  54. SET pgsrid=3044
  55. SET pggeom=geom
  56. SET pgencoding="LATIN1"
  57.  
  58. REM Create directories if not existant
  59. IF NOT EXIST "%TEMP_SQL_FILE_PATH%" MKDIR %TEMP_SQL_FILE_PATH%
  60. IF NOT EXIST "%LOG_PATH%" MKDIR %LOG_PATH%
  61. IF NOT EXIST "%SHP_FILE_PATH%" MKDIR %SHP_FILE_PATH%
  62.  
  63.  
  64. REM "Remove previously generated SQL files
  65. FOR %%f in (%TEMP_SQL_FILE_PATH%\*.sql) do del %%f
  66.  
  67. REM Remove any previous log files for sql, keep 'em after this run to be able to read after run
  68. FOR %%f in (%LOG_PATH%\*.log) do del %%f
  69.  
  70. EXIT /B
  71.  
  72.  
  73.  
  74. REM ||                          PARSE SHAPEFILES INTO SQL                             ||
  75. REM ------------------------------------------------------------------------------------
  76. :PARSE_SHAPE_FILES
  77.  
  78. REM Use shapefiles to create sql statements using shp2pgsql
  79. FOR %%f in (%SHP_FILE_PATH%\*.shp) do "%SHP2PGSQL%" -s %pgsrid% -d -g %pggeom% -D -i -I -W %pgencoding% %%f %pgschema%.%%~nf > %TEMP_SQL_FILE_PATH%\%%~nf.sql
  80.  
  81. EXIT /B
  82.  
  83.  
  84.  
  85. REM ||                               DROP DATABASE                                    ||
  86. REM ------------------------------------------------------------------------------------
  87. :DROP_DB
  88.  
  89. REM Cleanup previous versions of the database
  90. "%PSQL%" -h %pghost% -p %pgport% -U %pguser% -d postgres -a -f %~dp0cleanup-db.sql -v dbname=%pgdb%
  91.  
  92. EXIT /B
  93.  
  94.  
  95.  
  96. REM ||                              CREATE DATABASE                                   ||
  97. REM ------------------------------------------------------------------------------------
  98. :SETUP_DB
  99.  
  100. REM setup database
  101. "%PSQL%" -h %pghost% -p %pgport% -U %pguser% -d postgres -a -f %~dp0setup-db.sql -v dbname=%pgdb% -v dbowner=%pguser%
  102.  
  103. EXIT /B
  104.  
  105.  
  106.  
  107. ENDLOCAL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement