আমি এএ দম্পতি সত্তা এবং তাদের নেভিগেশন বৈশিষ্ট্যগুলির নামকরণ করেছি এবং EF 5 এ একটি নতুন মাইগ্রেশন তৈরি করেছি E ইএফ মাইগ্রেশনে নামকরণের মতো স্বাভাবিকভাবেই এটি ডিফল্টরূপে অবজেক্টগুলি ফেলে দেয় এবং তাদের পুনরায় তৈরি করতে চলেছিল। আমি যা চাইছিলাম তা নয় তাই আমাকে স্ক্র্যাচ থেকে মাইগ্রেশন ফাইলটি তৈরি করতে হবে।
public override void Up()
{
DropForeignKey("dbo.ReportSectionGroups", "Report_Id", "dbo.Reports");
DropForeignKey("dbo.ReportSections", "Group_Id", "dbo.ReportSectionGroups");
DropForeignKey("dbo.Editables", "Section_Id", "dbo.ReportSections");
DropIndex("dbo.ReportSectionGroups", new[] { "Report_Id" });
DropIndex("dbo.ReportSections", new[] { "Group_Id" });
DropIndex("dbo.Editables", new[] { "Section_Id" });
RenameTable("dbo.ReportSections", "dbo.ReportPages");
RenameTable("dbo.ReportSectionGroups", "dbo.ReportSections");
RenameColumn("dbo.ReportPages", "Group_Id", "Section_Id");
AddForeignKey("dbo.ReportSections", "Report_Id", "dbo.Reports", "Id");
AddForeignKey("dbo.ReportPages", "Section_Id", "dbo.ReportSections", "Id");
AddForeignKey("dbo.Editables", "Page_Id", "dbo.ReportPages", "Id");
CreateIndex("dbo.ReportSections", "Report_Id");
CreateIndex("dbo.ReportPages", "Section_Id");
CreateIndex("dbo.Editables", "Page_Id");
}
public override void Down()
{
DropIndex("dbo.Editables", "Page_Id");
DropIndex("dbo.ReportPages", "Section_Id");
DropIndex("dbo.ReportSections", "Report_Id");
DropForeignKey("dbo.Editables", "Page_Id", "dbo.ReportPages");
DropForeignKey("dbo.ReportPages", "Section_Id", "dbo.ReportSections");
DropForeignKey("dbo.ReportSections", "Report_Id", "dbo.Reports");
RenameColumn("dbo.ReportPages", "Section_Id", "Group_Id");
RenameTable("dbo.ReportSections", "dbo.ReportSectionGroups");
RenameTable("dbo.ReportPages", "dbo.ReportSections");
CreateIndex("dbo.Editables", "Section_Id");
CreateIndex("dbo.ReportSections", "Group_Id");
CreateIndex("dbo.ReportSectionGroups", "Report_Id");
AddForeignKey("dbo.Editables", "Section_Id", "dbo.ReportSections", "Id");
AddForeignKey("dbo.ReportSections", "Group_Id", "dbo.ReportSectionGroups", "Id");
AddForeignKey("dbo.ReportSectionGroups", "Report_Id", "dbo.Reports", "Id");
}
আমি যা করতে চেষ্টা করছি পুনঃনামকরণ হয় dbo.ReportSections
থেকে dbo.ReportPages
এবং তারপর dbo.ReportSectionGroups
থেকে dbo.ReportSections
। তারপরে আমার কাছে dbo.ReportPages
থেকে বিদেশী কী কলামটির নাম পরিবর্তন Group_Id
করতে হবে Section_Id
।
আমি টেবিলগুলি সংযুক্ত করে বিদেশী কী এবং সূচিগুলি বাদ দিচ্ছি, তারপরে আমি টেবিলগুলি এবং বিদেশী কী কলামটির নাম পরিবর্তন করছি, তারপরে আমি আবার সূচি এবং বিদেশী কীগুলি যুক্ত করছি। আমি ধরে নিয়েছি এটি কাজ করবে তবে আমি একটি এসকিউএল ত্রুটি পাচ্ছি।
এমএসজি 15248, স্তর 11, রাজ্য 1, প্রক্রিয়া sp_rename, লাইন 215 হয় প্যারামিটার @objname অস্পষ্ট বা দাবিযুক্ত @objtype (COLUMN) ভুল। Msg 4902, স্তর 16, রাজ্য 1, লাইন 10 অবজেক্টটি "dbo.ReportSections" খুঁজে পাচ্ছে না কারণ এটি বিদ্যমান নেই বা আপনার অনুমতি নেই।
আমি এখানে কী ভুল তা জানার জন্য খুব সহজ সময় পাচ্ছি না। যে কোনও অন্তর্দৃষ্টি মারাত্মক সহায়ক হবে।