Files
nashel-backend/Dockerfile.migrations

28 lines
1.4 KiB
Docker

FROM mcr.microsoft.com/dotnet/sdk:10.0-preview AS build
WORKDIR /src
# Устанавливаем инструмент для миграций EF Core
RUN dotnet tool install --global dotnet-ef --version 9.0.0
ENV PATH="${PATH}:/root/.dotnet/tools"
# Копируем решение и проекты
COPY ["Nashel.sln", "./"]
COPY ["src/", "src/"]
COPY ["tests/", "tests/"]
# Восстанавливаем зависимости
RUN dotnet restore "Nashel.sln"
WORKDIR "/src/src/Host"
ENTRYPOINT ["sh", "-c", "\
echo 'Running migrations...' && \
export PATH=\"$PATH:/root/.dotnet/tools\" && \
dotnet ef database update --project ../Modules/Identity/Infrastructure --startup-project . --context IdentityDbContext && \
dotnet ef database update --project ../Modules/Catalog/Infrastructure --startup-project . --context CatalogDbContext && \
dotnet ef database update --project ../Modules/Collaboration/Infrastructure --startup-project . --context CollaborationDbContext && \
dotnet ef database update --project ../Modules/Order/Infrastructure --startup-project . --context OrderDbContext && \
dotnet ef database update --project ../Modules/Reputation/Infrastructure --startup-project . --context ReputationDbContext && \
dotnet ef database update --project ../Modules/Geo/Infrastructure --startup-project . --context GeoDbContext && \
echo 'All migrations completed successfully!'\
"]