chore(docker): improve init script robustness and ignore db-data

- Add file existence checks before iterating schema directories
- Add proper quoting for file paths
- Add completion message
- Ignore docker/db-data/ (PostgreSQL runtime data)
This commit is contained in:
Houmgaor
2026-01-30 00:24:39 +01:00
parent e929346bf3
commit 6b8e468073
2 changed files with 21 additions and 14 deletions

View File

@@ -3,20 +3,24 @@ set -e
echo "INIT!"
pg_restore --username="$POSTGRES_USER" --dbname="$POSTGRES_DB" --verbose /schemas/init.sql
echo "Updating!"
for file in /schemas/update-schema/*
do
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -1 -f $file
done
if ls /schemas/update-schema/*.sql 1> /dev/null 2>&1; then
for file in /schemas/update-schema/*.sql
do
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -1 -f "$file"
done
else
echo "No update schemas found"
fi
echo "Patching!"
if ls /schemas/patch-schema/*.sql 1> /dev/null 2>&1; then
for file in /schemas/patch-schema/*.sql
do
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -1 -f "$file"
done
else
echo "No patch schemas found"
fi
for file in /schemas/patch-schema/*
do
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -1 -f $file
done
echo "Database initialization complete!"