1
0
mirror of https://github.com/jcwimer/wrestlingApp synced 2026-03-25 01:14:43 +00:00
Files
wrestlingdev.com/deploy/deploy-test.sh

38 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
project_dir="$(dirname $( dirname $(readlink -f ${BASH_SOURCE[0]})))"
# Stop existing services
docker-compose -f ${project_dir}/deploy/docker-compose-test.yml kill
# Build images
docker-compose -f ${project_dir}/deploy/docker-compose-test.yml build
# Start the database service first and wait for it
echo "Starting database service..."
docker-compose -f ${project_dir}/deploy/docker-compose-test.yml up -d db
docker-compose -f ${project_dir}/deploy/docker-compose-test.yml up -d influxdb
echo "Waiting for database to be ready..."
sleep 15 # Adjust sleep time if needed
# <<< Run migrations BEFORE starting the main services >>>
echo "Making sure databases exist..."
# DISABLE_DATABASE_ENVIRONMENT_CHECK=1 is needed because this is "destructive" action on production
# docker-compose -f ${project_dir}/deploy/docker-compose-test.yml run --rm app bash -c "DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bin/rails db:drop"
docker-compose -f ${project_dir}/deploy/docker-compose-test.yml run --rm app bin/rails db:create
echo "Running database migrations..."
docker-compose -f ${project_dir}/deploy/docker-compose-test.yml run --rm app bin/rails db:migrate
docker-compose -f ${project_dir}/deploy/docker-compose-test.yml run --rm app bin/rails db:migrate:cache
docker-compose -f ${project_dir}/deploy/docker-compose-test.yml run --rm app bin/rails db:migrate:queue
docker-compose -f ${project_dir}/deploy/docker-compose-test.yml run --rm app bin/rails db:migrate:cable
# Start all services (will start app and others, db is already running)
echo "Starting application services..."
docker-compose -f ${project_dir}/deploy/docker-compose-test.yml up -d
# DISABLE_DATABASE_ENVIRONMENT_CHECK=1 is needed because this is "destructive" action on production
echo Resetting the db with seed data
docker-compose -f ${project_dir}/deploy/docker-compose-test.yml run --rm app bash -c "DISABLE_DATABASE_ENVIRONMENT_CHECK=1 rake db:reset"
# echo Simulating tournament 204
# docker-compose -f ${project_dir}/deploy/docker-compose-test.yml exec -T app rails tournament:assign_random_wins