From 794e3fd74a61b211b6ac2e257f6b67ddbe9844d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=B6rdle=20Bot?= Date: Fri, 28 Nov 2025 15:53:01 +0100 Subject: [PATCH] Verbessere Docker-Migration: Entrypoint mit Baseline-Fallback und aktualisiere baseline-migrations.sh --- docker-compose.example.yml | 4 +--- scripts/baseline-migrations.sh | 5 +++++ scripts/docker-entrypoint.sh | 20 ++++++++++++++++---- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/docker-compose.example.yml b/docker-compose.example.yml index 917e796..1cd2638 100644 --- a/docker-compose.example.yml +++ b/docker-compose.example.yml @@ -37,6 +37,4 @@ services: timeout: 10s retries: 3 start_period: 40s - # Run migrations and start server (auto-baseline on first run if needed) - command: > - sh -c "npx prisma migrate deploy || (echo 'Baselining existing database...' && sh scripts/baseline-migrations.sh && npx prisma migrate deploy) && node server.js" + # docker-entrypoint.sh handles migrations and server startup (with baseline fallback) diff --git a/scripts/baseline-migrations.sh b/scripts/baseline-migrations.sh index df82282..aa302f8 100755 --- a/scripts/baseline-migrations.sh +++ b/scripts/baseline-migrations.sh @@ -14,5 +14,10 @@ npx prisma migrate resolve --applied "20251123083856_add_rating_system" npx prisma migrate resolve --applied "20251123140527_add_subtitles" npx prisma migrate resolve --applied "20251123181922_add_release_year" npx prisma migrate resolve --applied "20251123204000_fix_cascade_delete" +npx prisma migrate resolve --applied "20251124182259_add_exclude_from_global" +npx prisma migrate resolve --applied "20251124231438_add_genre_active_field" +npx prisma migrate resolve --applied "20251125101602_add_news_model" +npx prisma migrate resolve --applied "20251128131405_add_i18n_columns" +npx prisma migrate resolve --applied "20251128132806_switch_to_json_columns" echo "✅ Baseline complete! Restart the container to apply migrations normally." diff --git a/scripts/docker-entrypoint.sh b/scripts/docker-entrypoint.sh index fc2e0d9..84a9075 100755 --- a/scripts/docker-entrypoint.sh +++ b/scripts/docker-entrypoint.sh @@ -9,11 +9,23 @@ fi echo "Starting deployment..." -# Run migrations +# Run migrations with fallback to baseline if needed echo "Running database migrations..." -npx prisma migrate deploy - - +if ! npx prisma migrate deploy; then + echo "⚠️ Migration failed, attempting to baseline existing database..." + if [ -f /app/scripts/baseline-migrations.sh ]; then + sh /app/scripts/baseline-migrations.sh + echo "Retrying migrations after baseline..." + npx prisma migrate deploy || { + echo "❌ Migration failed even after baseline. Please check your database." + exit 1 + } + else + echo "❌ ERROR: Migration failed and baseline script not found at /app/scripts/baseline-migrations.sh" + exit 1 + fi +fi +echo "✅ Migrations completed successfully" # Start the application echo "Starting application..."