mirror of
https://github.com/Freika/dawarich.git
synced 2025-12-30 01:39:39 -06:00
Add migrations for additional databases
This commit is contained in:
@@ -62,6 +62,12 @@ services:
|
||||
DATABASE_USERNAME: postgres
|
||||
DATABASE_PASSWORD: password
|
||||
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
|
||||
APPLICATION_HOSTS: localhost
|
||||
TIME_ZONE: Europe/London
|
||||
|
||||
@@ -24,6 +24,13 @@ else
|
||||
DATABASE_NAME=${DATABASE_NAME}
|
||||
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
|
||||
rm -f $APP_PATH/tmp/pids/server.pid
|
||||
|
||||
@@ -47,28 +54,43 @@ create_database() {
|
||||
# Create and check primary database
|
||||
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
|
||||
# Setup Queue database
|
||||
QUEUE_DATABASE_NAME=${QUEUE_DATABASE_NAME:-${DATABASE_NAME}_queue}
|
||||
QUEUE_DATABASE_PASSWORD=${QUEUE_DATABASE_PASSWORD:-$DATABASE_PASSWORD}
|
||||
export QUEUE_DATABASE_NAME
|
||||
export 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
|
||||
CACHE_DATABASE_NAME=${CACHE_DATABASE_NAME:-${DATABASE_NAME}_cache}
|
||||
CACHE_DATABASE_PASSWORD=${CACHE_DATABASE_PASSWORD:-$DATABASE_PASSWORD}
|
||||
export CACHE_DATABASE_NAME
|
||||
export CACHE_DATABASE_PASSWORD
|
||||
create_database "$CACHE_DATABASE_NAME" "$CACHE_DATABASE_PASSWORD"
|
||||
|
||||
echo "Running cache database migrations..."
|
||||
bundle exec rails db:migrate:cache
|
||||
fi
|
||||
|
||||
# Setup Cable database (only for production and staging)
|
||||
if [ "$RAILS_ENV" = "production" ] || [ "$RAILS_ENV" = "staging" ]; then
|
||||
CABLE_DATABASE_NAME=${CABLE_DATABASE_NAME:-${DATABASE_NAME}_cable}
|
||||
CABLE_DATABASE_PASSWORD=${CABLE_DATABASE_PASSWORD:-$DATABASE_PASSWORD}
|
||||
export CABLE_DATABASE_NAME
|
||||
export CABLE_DATABASE_PASSWORD
|
||||
create_database "$CABLE_DATABASE_NAME" "$CABLE_DATABASE_PASSWORD"
|
||||
|
||||
echo "Running cable database migrations..."
|
||||
bundle exec rails db:migrate:cable
|
||||
fi
|
||||
|
||||
# Run database migrations
|
||||
echo "PostgreSQL is ready. Running database migrations..."
|
||||
# Run database migrations for primary database
|
||||
echo "PostgreSQL is ready. Running primary database migrations..."
|
||||
bundle exec rails db:migrate
|
||||
|
||||
# Run data migrations
|
||||
|
||||
Reference in New Issue
Block a user