Add script to update template schema from database

This commit is contained in:
D. Berge
2020-08-12 14:23:34 +02:00
parent c7b6f259cb
commit d4f91aea3b
2 changed files with 17 additions and 3 deletions

View File

@@ -3,9 +3,10 @@
## Structure of this repo ## Structure of this repo
* `bin/` Scripts that import / export data into / out of the database. * `bin/` Scripts that import / export data into / out of the database.
* `etc/` Configuration files * `etc/` Configuration files.
* `lib/` Code files * `lib/` Code files.
- `lib/www/` Web interface and API - `lib/www/` Web interface and API.
- `lib/www/client/` Frontend. - `lib/www/client/` Frontend.
- `lib/www/server/` Backend. - `lib/www/server/` Backend.
* `sbin/` System maintenance scripts.

13
sbin/dump_schema.sh Executable file
View File

@@ -0,0 +1,13 @@
#!/bin/bash
# Use this to create a new template schema based on an existing schema in the database.
#
# The template schema is used by bin/create_survey.sh to initialise a new set of tables for a prospect.
SCHEMA_NAME=${SCHEMA_NAME:-survey_1}
EPSG_CODE=${EPSG_CODE:-23031}
DEST=${DEST:-"$(dirname "$0")/../etc/db/schema-template.sql"}
pg_dump -U postgres --schema="$SCHEMA_NAME" --schema-only --host=localhost dougal |
sed -r "s/$SCHEMA_NAME/_SURVEY__TEMPLATE_/g;s/$EPSG_CODE/_EPSG__CODE_/g" >"$DEST" &&
echo "Schema $SCHEMA_NAME dumped to $DEST"