25 lines
713 B
Bash
25 lines
713 B
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# Wait for PostgreSQL to be ready
|
|
until pg_isready; do
|
|
echo "Waiting for PostgreSQL to be ready..."
|
|
sleep 2
|
|
done
|
|
|
|
# Create the target database
|
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
|
CREATE DATABASE $TARGET_DB_NAME;
|
|
EOSQL
|
|
|
|
# Copy the database if SOURCE_DB_URL is provided
|
|
if [ ! -z "$SOURCE_DB_URL" ]; then
|
|
echo "Copying database from $SOURCE_DB_URL to $TARGET_DB_NAME..."
|
|
|
|
# Dump the source database
|
|
pg_dump "$SOURCE_DB_URL" | psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$TARGET_DB_NAME"
|
|
|
|
echo "Database copy completed successfully"
|
|
else
|
|
echo "No SOURCE_DB_URL provided, skipping database copy"
|
|
fi |