1
0
mirror of https://github.com/jcwimer/wrestlingApp synced 2026-03-24 17:04:43 +00:00

Added a separate table to record background job status for tournaments and fixed migrations/schemas for solid dbs. Foreign key constraints are now added to the migrations where we do belongs_to.

This commit is contained in:
2025-04-15 16:16:44 -04:00
parent 4828d9b876
commit 6e61a7245a
37 changed files with 678 additions and 1169 deletions

View File

@@ -1,16 +1,35 @@
#!/bin/bash
project_dir="$(dirname $( dirname $(readlink -f ${BASH_SOURCE[0]})))"
#docker build -t wrestlingdev:test -f ${project_dir}/deploy/rails-prod-Dockerfile ${project_dir}
# Stop existing services
docker-compose -f ${project_dir}/deploy/docker-compose-test.yml kill
docker-compose -f ${project_dir}/deploy/docker-compose-test.yml build
docker-compose -f ${project_dir}/deploy/docker-compose-test.yml up -d
sleep 30s
# echo Make sure your local mysql database has a wrestlingtourney db
# docker-compose -f ${project_dir}/deploy/docker-compose-test.yml exec -T app bash -c "DISABLE_DATABASE_ENVIRONMENT_CHECK=1 rake db:drop"
docker-compose -f ${project_dir}/deploy/docker-compose-test.yml exec -T app rake db:create
docker-compose -f ${project_dir}/deploy/docker-compose-test.yml exec -T app rake db:migrate
# 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 exec -T app bash -c "DISABLE_DATABASE_ENVIRONMENT_CHECK=1 rake db:reset"

View File

@@ -1,4 +1,3 @@
version: "2.2"
networks:
database:
caching:
@@ -26,7 +25,6 @@ services:
- WRESTLINGDEV_INFLUXDB_DATABASE=wrestlingdev
- WRESTLINGDEV_INFLUXDB_HOST=influxdb
- WRESTLINGDEV_INFLUXDB_PORT=8086
- PASSENGER_POOL_SIZE=${PASSENGER_POOL_SIZE}
- SOLID_QUEUE_IN_PUMA=true
networks:
database:

View File

@@ -11,7 +11,7 @@ spec:
image: jcwimer/wrestlingdev:prod
imagePullPolicy: Always
command: ["/bin/sh","-c"]
args: ["bundle exec rake db:create; bundle exec rake db:migrate;"]
args: ["bundle exec rake db:create; bundle exec rake db:migrate; bundle exec rake db:migrate:cache; bundle exec rake db:migrate:queue; bundle exec rake db:migrate:cable;"]
env:
- name: RAILS_ENV
value: production