28 lines
989 B
Bash
Executable File
28 lines
989 B
Bash
Executable File
#!/bin/bash
|
|
|
|
|
|
# Recreate the database: run DROP and CREATE in separate psql calls (DROP DATABASE cannot run inside a transaction block)
|
|
if ! docker exec -i meta_timescaledb psql -U meta_user -d postgres -c "DROP DATABASE IF EXISTS meta_insights;"; then
|
|
echo "Error: failed to drop database 'meta_insights'." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if ! docker exec -i meta_timescaledb psql -U meta_user -d postgres -c "CREATE DATABASE meta_insights;"; then
|
|
echo "Error: failed to create database 'meta_insights'." >&2
|
|
exit 1
|
|
fi
|
|
|
|
# then import dump specified by argument only if previous commands succeeded
|
|
if [ -n "$1" ]; then
|
|
DUMP_FILE="$1"
|
|
if [ ! -r "$DUMP_FILE" ]; then
|
|
echo "Error: dump file '$DUMP_FILE' does not exist or is not readable." >&2
|
|
exit 2
|
|
fi
|
|
|
|
echo "Importing dump from $DUMP_FILE"
|
|
if ! docker exec -i meta_timescaledb psql -U meta_user -d meta_insights < "$DUMP_FILE"; then
|
|
echo "Error: failed to import dump '$DUMP_FILE' into 'meta_insights'." >&2
|
|
exit 3
|
|
fi
|
|
fi |