- Updated .env.example and .env files for backend and frontend with placeholder values. - Enhanced .gitignore to include additional files and directories. - Modified docker-compose.yml to change image names and improve service health checks. - Updated README.md and SETUP_THE_PROJECT.md for clearer setup instructions. - Added database initialization scripts and SQL files for structured database setup. - Updated frontend Dockerfile to use Node.js 22 and adjusted package.json scripts. - Improved error handling and logging in start scripts for better debugging. - Added reCAPTCHA support in the signup page with conditional loading based on environment variables.
55 lines
2.1 KiB
Bash
55 lines
2.1 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# This script controls the order of SQL file execution during database initialization
|
|
echo "Starting database initialization..."
|
|
|
|
# Check if we have SQL files in expected locations
|
|
if [ -f "/docker-entrypoint-initdb.d/sql/0_extensions.sql" ]; then
|
|
SQL_DIR="/docker-entrypoint-initdb.d/sql"
|
|
echo "Using SQL files from sql/ subdirectory"
|
|
elif [ -f "/docker-entrypoint-initdb.d/0_extensions.sql" ]; then
|
|
# First time setup - move files to subdirectory
|
|
echo "Moving SQL files to sql/ subdirectory..."
|
|
mkdir -p /docker-entrypoint-initdb.d/sql
|
|
|
|
# Move all SQL files (except this script) to the subdirectory
|
|
for f in /docker-entrypoint-initdb.d/*.sql; do
|
|
if [ -f "$f" ]; then
|
|
cp "$f" /docker-entrypoint-initdb.d/sql/
|
|
echo "Copied $f to sql/ subdirectory"
|
|
fi
|
|
done
|
|
|
|
SQL_DIR="/docker-entrypoint-initdb.d/sql"
|
|
else
|
|
echo "SQL files not found in expected locations!"
|
|
exit 1
|
|
fi
|
|
|
|
# Execute SQL files in the correct order
|
|
echo "Executing 0_extensions.sql..."
|
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -f "$SQL_DIR/0_extensions.sql"
|
|
|
|
echo "Executing 1_tables.sql..."
|
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -f "$SQL_DIR/1_tables.sql"
|
|
|
|
echo "Executing indexes.sql..."
|
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -f "$SQL_DIR/indexes.sql"
|
|
|
|
echo "Executing 4_functions.sql..."
|
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -f "$SQL_DIR/4_functions.sql"
|
|
|
|
echo "Executing triggers.sql..."
|
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -f "$SQL_DIR/triggers.sql"
|
|
|
|
echo "Executing 3_views.sql..."
|
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -f "$SQL_DIR/3_views.sql"
|
|
|
|
echo "Executing 2_dml.sql..."
|
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -f "$SQL_DIR/2_dml.sql"
|
|
|
|
echo "Executing 5_database_user.sql..."
|
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -f "$SQL_DIR/5_database_user.sql"
|
|
|
|
echo "Database initialization completed successfully" |