mirror of
https://github.com/Freika/dawarich.git
synced 2026-01-10 01:01:39 -05:00
51 lines
1.3 KiB
Bash
51 lines
1.3 KiB
Bash
#!/bin/sh
|
|
|
|
unset BUNDLE_PATH
|
|
unset BUNDLE_BIN
|
|
|
|
set -e
|
|
|
|
echo "Environment: $RAILS_ENV"
|
|
|
|
# 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"}
|
|
|
|
# Remove pre-existing puma/passenger server.pid
|
|
rm -f $APP_PATH/tmp/pids/server.pid
|
|
|
|
# Wait for the database to be ready
|
|
until nc -zv $DATABASE_HOST ${DATABASE_PORT:-5432}; do
|
|
echo "Waiting for PostgreSQL to be ready..."
|
|
sleep 1
|
|
done
|
|
|
|
# Install gems
|
|
gem update --system 3.5.7
|
|
gem install bundler --version '2.5.9'
|
|
|
|
# Create the database
|
|
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
|
|
|
|
# Run database migrations
|
|
echo "PostgreSQL is ready. Running database migrations..."
|
|
bundle exec rails db:prepare
|
|
|
|
# Run data migrations
|
|
echo "Running DATA migrations..."
|
|
bundle exec rake data:migrate
|
|
|
|
# Run seeds
|
|
echo "Running seeds..."
|
|
bundle exec rake db:seed
|
|
|
|
# run passed commands
|
|
bundle exec ${@}
|