28 lines
1.4 KiB
Docker
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!'\
|
|
"]
|