ASP.NET Core এ ডাটাবেস মাইগ্রেশন ব্যবহৃত হয় ডেটাবেসের স্কিমা আপডেট করতে, যা Entity Framework Core (EF Core) এর মাধ্যমে করা হয়। মাইগ্রেশন ব্যবহার করে আপনি আপনার মডেল ক্লাসের পরিবর্তনগুলিকে ডাটাবেসে প্রতিফলিত করতে পারেন। প্রথম মাইগ্রেশন তৈরি করার প্রক্রিয়াটি খুবই সহজ এবং কয়েকটি ধাপে করা যায়।
ডাটাবেস মাইগ্রেশন তৈরি করতে হলে প্রথমে আপনাকে কিছু পদক্ষেপ সম্পন্ন করতে হবে:
DbContext
ক্লাস তৈরি করতে হবে, যা ডাটাবেসের সঙ্গে যোগাযোগ করবে এবং আপনার মডেল ক্লাসগুলিকে সনাক্ত করবে।প্রথমে, আপনাকে Entity Framework Core-এর প্রয়োজনীয় প্যাকেজ ইনস্টল করতে হবে। আপনি NuGet Package Manager
ব্যবহার করে অথবা dotnet CLI
এর মাধ্যমে এটি ইনস্টল করতে পারেন।
NuGet প্যাকেজ ইনস্টল (NuGet Package Manager):
dotnet CLI ব্যবহার করে ইনস্টল:
dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Tools
DbContext
হলো EF Core এর মূল অংশ, যা ডেটাবেসের সাথে যোগাযোগ করে। আপনার DbContext
ক্লাসের মধ্যে ডেটাবেসের টেবিলগুলির জন্য DbSet প্রপার্টি থাকতে হবে।
using Microsoft.EntityFrameworkCore;
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
public DbSet<User> Users { get; set; } // একটি টেবিল হিসেবে 'Users'
}
এখানে User
হলো একটি মডেল ক্লাস, যা ডাটাবেসের একটি টেবিলকে প্রতিনিধিত্ব করে।
EF Core এর মাধ্যমে মাইগ্রেশন তৈরি করতে হলে আপনাকে dotnet ef
টুল ব্যবহার করতে হবে। প্রথম মাইগ্রেশন তৈরির জন্য নিচের ধাপগুলি অনুসরণ করুন:
ডাটাবেস কনফিগারেশন যোগ করা: আপনার Startup.cs
ফাইলে, ConfigureServices
মেথডে DbContext
যোগ করুন:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
}
প্রথম মাইগ্রেশন তৈরি করুন: নিচের কমান্ডটি ব্যবহার করুন:
dotnet ef migrations add InitialCreate
এখানে, InitialCreate
হলো আপনার মাইগ্রেশনের নাম। আপনি এটি পরিবর্তন করতে পারেন, তবে সাধারণত এটি প্রথম মাইগ্রেশন হলে "InitialCreate" ব্যবহার করা হয়।
মাইগ্রেশন তৈরি হওয়ার পর, ডাটাবেস আপডেট করতে হবে যাতে আপনার ডাটাবেস স্কিমা মডেলের সাথে সামঞ্জস্যপূর্ণ হয়ে ওঠে। নিচের কমান্ডটি ব্যবহার করে ডাটাবেস আপডেট করুন:
dotnet ef database update
এটি মাইগ্রেশন ফাইল অনুযায়ী ডাটাবেস তৈরি বা আপডেট করবে।
মাইগ্রেশন তৈরি হলে, একটি ফোল্ডার তৈরি হবে যার নাম হবে Migrations। এই ফোল্ডারে একটি .cs
ফাইল থাকবে, যেখানে আপনার মডেল ক্লাসের পরিবর্তনগুলির জন্য কোড থাকবে। মাইগ্রেশন ফাইলটি ডাটাবেস স্কিমা পরিবর্তনের নির্দেশনা দেয়।
public partial class InitialCreate : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Users",
columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
Name = table.Column<string>(nullable: true),
Email = table.Column<string>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Users", x => x.Id);
});
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "Users");
}
}
এখানে, Up
মেথডে ডাটাবেস টেবিল তৈরি করা হয় এবং Down
মেথডে টেবিল মুছে ফেলা হয় যদি আপনি মাইগ্রেশনটি রোলব্যাক করতে চান।
প্রথম মাইগ্রেশন তৈরি করার প্রক্রিয়া বেশ সহজ। আপনি DbContext তৈরি করার পর, মাইগ্রেশন কমান্ড ব্যবহার করে প্রথম মাইগ্রেশন তৈরি করতে পারেন এবং ডাটাবেস আপডেট করতে পারেন। মাইগ্রেশন ব্যবহারের মাধ্যমে, আপনার মডেল ক্লাসের কোনো পরিবর্তন সহজেই ডাটাবেসে প্রতিফলিত হয়, যা ডাটাবেস পরিচালনার কাজকে আরও সহজ এবং কার্যকরী করে তোলে।
common.read_more