2022-04-06 14:46:10 -04:00
#!/bin/sh
2024-04-04 17:12:32 -04:00
unset BUNDLE_PATH
unset BUNDLE_BIN
2022-04-06 14:46:10 -04:00
set -e
echo " Environment: $RAILS_ENV "
2024-09-17 18:53:10 -04:00
# set env var defaults
DATABASE_HOST = ${ DATABASE_HOST :- "dawarich_db" }
DATABASE_PORT = ${ DATABASE_PORT :- 5432 }
DATABASE_USERNAME = ${ DATABASE_USERNAME :- "postgres" }
DATABASE_PASSWORD = ${ DATABASE_PASSWORD :- "password" }
DATABASE_NAME = ${ DATABASE_NAME :- "dawarich_development" }
2022-04-06 14:46:10 -04:00
# Remove pre-existing puma/passenger server.pid
rm -f $APP_PATH /tmp/pids/server.pid
2024-03-15 18:31:06 -04:00
# Wait for the database to be ready
2024-09-17 18:53:10 -04:00
until nc -zv $DATABASE_HOST ${ DATABASE_PORT :- 5432 } ; do
2024-03-15 18:31:06 -04:00
echo "Waiting for PostgreSQL to be ready..."
sleep 1
done
2024-04-04 17:12:32 -04:00
# Install gems
2024-04-05 16:20:12 -04:00
gem update --system 3.5.7
2024-04-17 16:34:10 -04:00
gem install bundler --version '2.5.9'
2024-04-04 17:12:32 -04:00
2024-03-15 18:31:06 -04:00
# Create the database
2024-09-17 18:53:10 -04:00
if [ " $( psql " postgres:// $DATABASE_USERNAME : $DATABASE_PASSWORD @ $DATABASE_HOST : $DATABASE_PORT " -XtAc " SELECT 1 FROM pg_database WHERE datname=' $DATABASE_NAME ' " ) " = '1' ] ; then
echo " Database $DATABASE_NAME already exists, skipping creation... "
else
echo " Creating database $DATABASE_NAME ... "
bundle exec rails db:create
fi
2024-03-15 18:31:06 -04:00
# Run database migrations
echo "PostgreSQL is ready. Running database migrations..."
bundle exec rails db:prepare
2024-05-25 07:26:56 -04:00
# Run data migrations
echo "Running DATA migrations..."
bundle exec rake data:migrate
2024-06-30 06:31:21 -04:00
# Run seeds
echo "Running seeds..."
bundle exec rake db:seed
2022-04-06 14:46:10 -04:00
# run passed commands
bundle exec ${ @ }