diff --git a/docker/environments/docker-compose.yml b/docker/environments/docker-compose.yml index a5e2394..e44dc0c 100644 --- a/docker/environments/docker-compose.yml +++ b/docker/environments/docker-compose.yml @@ -1,4 +1,20 @@ services: + migrator: + image: mcr.microsoft.com/dotnet/sdk:10.0 + working_dir: /src + volumes: + - ../..:/src + environment: + - App__ConnectionString=${CONNECTION_STRING} + depends_on: + db: + condition: service_started + command: + - /bin/sh + - -c + - dotnet tool install --tool-path /tmp/dotnet-tools dotnet-ef --version "9.*" && until /tmp/dotnet-tools/dotnet-ef database update --project /src/HrynCo.NotificationService.DAL.EF --startup-project /src/HrynCo.NotificationService.Web; do echo "Migration failed, retrying in 3s..."; sleep 3; done + restart: "no" + api: build: context: ../.. @@ -9,7 +25,10 @@ services: ports: - "8080:8080" depends_on: - - db + db: + condition: service_started + migrator: + condition: service_completed_successfully worker: build: @@ -19,4 +38,7 @@ services: - DOTNET_ENVIRONMENT=Production - App__ConnectionString=${CONNECTION_STRING} depends_on: - - db \ No newline at end of file + db: + condition: service_started + migrator: + condition: service_completed_successfully \ No newline at end of file