TGViewer
Software Philosophy Software Philosophy @softwarephilosophy · 3.48K subscribers
Post #2270 3.36K
مدیریت هوشمند Migrationها در EF Core با Docker و EF Tools

در این روش، شما EF Core Tools را مستقیماً داخل Docker نصب می‌کنید، که به شما امکان می‌دهد migrationها را بدون نیاز به نصب ابزارهای اضافی روی سیستم شخصی خود، کاملاً داخل کانتینر مدیریت کنید. این روش برای CI/CD و محیط‌های تولیدی عالی است، چون همه چیز ایزوله و مستقل داخل کانتینر انجام می‌شود.

مراحل نصب EF Core Tools در Docker و اجرای migrationها

۱. تنظیم Dockerfile

در Dockerfile، EF Core Tools را نصب می‌کنیم تا migrationها به‌طور خودکار داخل کانتینر اجرا شوند. هر بار که کانتینر ساخته و اجرا می‌شود، migrationها اعمال و دیتابیس آماده استفاده می‌شود.
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
WORKDIR /app
EXPOSE 80

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY ["YourProject/YourProject.csproj", "YourProject/"]
RUN dotnet restore "YourProject/YourProject.csproj"
COPY . .
RUN dotnet build "YourProject/YourProject.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "YourProject/YourProject.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .

# نصب EF Core Tools و اجرای migrationها
RUN dotnet tool install --global dotnet-ef
ENV PATH="$PATH:/root/.dotnet/tools"
RUN dotnet ef database update

ENTRYPOINT ["dotnet", "YourProject.dll"]

۲. ساخت و اجرای کانتینر

کافی است دستورات زیر را اجرا کنید تا کانتینر ساخته و اپلیکیشن شما اجرا شود:
docker build -t your-image-name .
docker run -d your-image-name

مزایای این روش

▫️سادگی و انعطاف در CI/CD:
عملیات migrationها خودکار اجرا می‌شوند و برای محیط‌های CI/CD فوق‌العاده مناسب هستند.

▫️استقلال از محیط توسعه:
نیاز به ابزارهای اضافی روی سیستم شخصی نیست؛ همه چیز داخل Docker انجام می‌شود.

▫️دیتابیس همیشه به‌روز:
هر بار که کانتینر اجرا شود، migrationها اعمال می‌شوند و دیتابیس سینک می‌ماند.


این روش یه راهکار راحت و ایزوله برای مدیریت migrationهاست و کار با Docker را هم ساده‌تر می‌کند.

🔗 برای مطالعه بیشتر میتوانید به این لینک مراجعه نمایید.

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#هوتن_همتی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

________
Microsoft News Introducing DevOps-friendly EF Core Migration Bundles EF Core's new migration bundles provide build artifacts to deploy schema and data changes to your database as part of your DevOps pipeline.
  • 👍 17
  • ❤ 3
  • 🔥 2
More from @softwarephilosophy
  1. Sep 27, 2026نگو JEV بگو System One! دنیل کانمن (Daniel Kahneman) توی کتاب معروفش «تفکر، سریع و کند» (T…
  2. Sep 23, 2026بازنویسی کل GitHub Copilot Runtime با Rust 🔶 حدود ۱۲۰،۰۰۰ دلار هزینه توکن و سه هفته وقت ی…
  3. Sep 15, 2026ورک‌شاپ «AI Agents in C# (MAF)» در این ورک‌شاپ به بررسی امکانات جدید برنامه‌نویسی با کتابخ…
  4. Sep 12, 2026کد مدریت شده (Managed Code) در دات‌نت یعنی چی؟ ▫️به زبان ساده: کد مدریت شده (Managed Code)…
  5. Sep 5, 2026آشنایی با Attributeها در سی‌شارپ در سی شارپ، Attributeها برای اضافه کردن metadata یا اطلاع…
  6. Aug 25, 2026اگر در دات نت Agent، MCP Server یا ابزارهای مبتنی بر هوش مصنوعی توسعه میدهی، این پروژه میت…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →