From 1ebe7b9e6c2a81fd06795826650ef2cf5b3d0a93 Mon Sep 17 00:00:00 2001 From: ShiYu Date: Mon, 19 May 2025 23:15:15 +0800 Subject: [PATCH] feat: update Dockerfile to install EF Core tools and perform database migrations --- Dockerfile | 9 +++++++-- Services/DatabaseInitializer.cs | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 43d5066..4026277 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,11 +13,17 @@ RUN bun run build FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build ARG BUILD_CONFIGURATION=Release +ENV DEFAULT_CONNECTION="Host=yourhost;Username=foxel;Password=foxel;Database=foxel" WORKDIR /src COPY ["Foxel.csproj", "./"] RUN dotnet restore "Foxel.csproj" COPY . . WORKDIR "/src/" +# 安装EF Core工具并执行数据库迁移 +RUN dotnet tool install --global dotnet-ef +ENV PATH="$PATH:/root/.dotnet/tools" +RUN dotnet ef migrations add InitialCreate -- --environment Production +RUN dotnet ef database update -- --environment Production RUN dotnet build "./Foxel.csproj" -c $BUILD_CONFIGURATION -o /app/build FROM build AS publish @@ -26,8 +32,7 @@ RUN dotnet publish "./Foxel.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:U FROM base AS final WORKDIR /app -# Format: Host=yourhost;Username=foxel;Password=foxel;Database=foxel -ENV DEFAULT_CONNECTION="YourDefaultConnectionStringHere" +ENV DEFAULT_CONNECTION="Host=yourhost;Username=foxel;Password=foxel;Database=foxel" COPY --from=publish /app/publish . RUN apt-get update && apt-get install -y nginx && rm -rf /var/lib/apt/lists/* COPY --from=build-frontend /src/View/dist /var/www/html diff --git a/Services/DatabaseInitializer.cs b/Services/DatabaseInitializer.cs index 8d9f298..736f1f1 100644 --- a/Services/DatabaseInitializer.cs +++ b/Services/DatabaseInitializer.cs @@ -100,7 +100,7 @@ public class DatabaseInitializer( string password = GenerateRandomPassword(6); string passwordHash = HashPassword(password); - logger.LogInformation("创建管理员用户,用户名: Admin,密码: {Password}", password); + logger.LogInformation("创建管理员用户,邮箱: you@foxel.cc,密码: {Password}", password); adminUser = new User { UserName = "Admin", @@ -114,8 +114,8 @@ public class DatabaseInitializer( Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine($"[重要] 管理员账户初始密码: {password},请及时修改"); + Console.WriteLine($"[重要] 请及时登录后台修改AI相关配置,系统才可正常运行"); Console.ResetColor(); - await context.SaveChangesAsync(); } }