mirror of
https://github.com/Freika/dawarich.git
synced 2026-01-11 09:41:40 -05:00
Add migrations for additional databases
This commit is contained in:
parent
ac705303fb
commit
be76cde759
2 changed files with 31 additions and 3 deletions
|
|
@ -62,6 +62,12 @@ services:
|
||||||
DATABASE_USERNAME: postgres
|
DATABASE_USERNAME: postgres
|
||||||
DATABASE_PASSWORD: password
|
DATABASE_PASSWORD: password
|
||||||
DATABASE_NAME: dawarich_development
|
DATABASE_NAME: dawarich_development
|
||||||
|
QUEUE_DATABASE_NAME: dawarich_development_queue
|
||||||
|
QUEUE_DATABASE_PASSWORD: password
|
||||||
|
CACHE_DATABASE_NAME: dawarich_development_cache
|
||||||
|
CACHE_DATABASE_PASSWORD: password
|
||||||
|
CABLE_DATABASE_NAME: dawarich_development_cable
|
||||||
|
CABLE_DATABASE_PASSWORD: password
|
||||||
MIN_MINUTES_SPENT_IN_CITY: 60
|
MIN_MINUTES_SPENT_IN_CITY: 60
|
||||||
APPLICATION_HOSTS: localhost
|
APPLICATION_HOSTS: localhost
|
||||||
TIME_ZONE: Europe/London
|
TIME_ZONE: Europe/London
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,13 @@ else
|
||||||
DATABASE_NAME=${DATABASE_NAME}
|
DATABASE_NAME=${DATABASE_NAME}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Export main database variables to ensure they're available
|
||||||
|
export DATABASE_HOST
|
||||||
|
export DATABASE_PORT
|
||||||
|
export DATABASE_USERNAME
|
||||||
|
export DATABASE_PASSWORD
|
||||||
|
export DATABASE_NAME
|
||||||
|
|
||||||
# Remove pre-existing puma/passenger server.pid
|
# Remove pre-existing puma/passenger server.pid
|
||||||
rm -f $APP_PATH/tmp/pids/server.pid
|
rm -f $APP_PATH/tmp/pids/server.pid
|
||||||
|
|
||||||
|
|
@ -47,28 +54,43 @@ create_database() {
|
||||||
# Create and check primary database
|
# Create and check primary database
|
||||||
create_database "$DATABASE_NAME" "$DATABASE_PASSWORD"
|
create_database "$DATABASE_NAME" "$DATABASE_PASSWORD"
|
||||||
|
|
||||||
# Handle additional databases based on environment
|
# Run migrations for additional databases first
|
||||||
if [ "$RAILS_ENV" = "development" ] || [ "$RAILS_ENV" = "production" ] || [ "$RAILS_ENV" = "staging" ]; then
|
if [ "$RAILS_ENV" = "development" ] || [ "$RAILS_ENV" = "production" ] || [ "$RAILS_ENV" = "staging" ]; then
|
||||||
# Setup Queue database
|
# Setup Queue database
|
||||||
QUEUE_DATABASE_NAME=${QUEUE_DATABASE_NAME:-${DATABASE_NAME}_queue}
|
QUEUE_DATABASE_NAME=${QUEUE_DATABASE_NAME:-${DATABASE_NAME}_queue}
|
||||||
QUEUE_DATABASE_PASSWORD=${QUEUE_DATABASE_PASSWORD:-$DATABASE_PASSWORD}
|
QUEUE_DATABASE_PASSWORD=${QUEUE_DATABASE_PASSWORD:-$DATABASE_PASSWORD}
|
||||||
|
export QUEUE_DATABASE_NAME
|
||||||
|
export QUEUE_DATABASE_PASSWORD
|
||||||
create_database "$QUEUE_DATABASE_NAME" "$QUEUE_DATABASE_PASSWORD"
|
create_database "$QUEUE_DATABASE_NAME" "$QUEUE_DATABASE_PASSWORD"
|
||||||
|
|
||||||
|
echo "Running queue database migrations..."
|
||||||
|
bundle exec rails db:migrate:queue
|
||||||
|
|
||||||
# Setup Cache database
|
# Setup Cache database
|
||||||
CACHE_DATABASE_NAME=${CACHE_DATABASE_NAME:-${DATABASE_NAME}_cache}
|
CACHE_DATABASE_NAME=${CACHE_DATABASE_NAME:-${DATABASE_NAME}_cache}
|
||||||
CACHE_DATABASE_PASSWORD=${CACHE_DATABASE_PASSWORD:-$DATABASE_PASSWORD}
|
CACHE_DATABASE_PASSWORD=${CACHE_DATABASE_PASSWORD:-$DATABASE_PASSWORD}
|
||||||
|
export CACHE_DATABASE_NAME
|
||||||
|
export CACHE_DATABASE_PASSWORD
|
||||||
create_database "$CACHE_DATABASE_NAME" "$CACHE_DATABASE_PASSWORD"
|
create_database "$CACHE_DATABASE_NAME" "$CACHE_DATABASE_PASSWORD"
|
||||||
|
|
||||||
|
echo "Running cache database migrations..."
|
||||||
|
bundle exec rails db:migrate:cache
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Setup Cable database (only for production and staging)
|
# Setup Cable database (only for production and staging)
|
||||||
if [ "$RAILS_ENV" = "production" ] || [ "$RAILS_ENV" = "staging" ]; then
|
if [ "$RAILS_ENV" = "production" ] || [ "$RAILS_ENV" = "staging" ]; then
|
||||||
CABLE_DATABASE_NAME=${CABLE_DATABASE_NAME:-${DATABASE_NAME}_cable}
|
CABLE_DATABASE_NAME=${CABLE_DATABASE_NAME:-${DATABASE_NAME}_cable}
|
||||||
CABLE_DATABASE_PASSWORD=${CABLE_DATABASE_PASSWORD:-$DATABASE_PASSWORD}
|
CABLE_DATABASE_PASSWORD=${CABLE_DATABASE_PASSWORD:-$DATABASE_PASSWORD}
|
||||||
|
export CABLE_DATABASE_NAME
|
||||||
|
export CABLE_DATABASE_PASSWORD
|
||||||
create_database "$CABLE_DATABASE_NAME" "$CABLE_DATABASE_PASSWORD"
|
create_database "$CABLE_DATABASE_NAME" "$CABLE_DATABASE_PASSWORD"
|
||||||
|
|
||||||
|
echo "Running cable database migrations..."
|
||||||
|
bundle exec rails db:migrate:cable
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Run database migrations
|
# Run database migrations for primary database
|
||||||
echo "PostgreSQL is ready. Running database migrations..."
|
echo "PostgreSQL is ready. Running primary database migrations..."
|
||||||
bundle exec rails db:migrate
|
bundle exec rails db:migrate
|
||||||
|
|
||||||
# Run data migrations
|
# Run data migrations
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue