50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

اضافه کردن migration جدید با کد

با سلام .

چطور میتوان تغییرات در یک جدول بانک اطلاعاتی را بعد از اینکه migration را فعال کردیم . بصورت دستی با کد های C# تغییر بدهیم . منظورم این است که بجای اینکه در کلاس مورد نظر پراپرتی را اضافه کنیم و بعد از دستور add-migration و update-database استفاده کنیم . بدون استفاده از این دستورات و package manager console و بصورت مستقیم در خود پروژه پراپرتی را تعریف و migration را اضافه و بانک اطلاعاتی آپدیت کنیم ؟ 

پرسیده شده در 1401/10/08 توسط

3 پاسخ

0

یکم جستجو کردم . انگار میشه یک کارایی کرد . مثلاً با migrator و بعد استفاده از متد update ش که کار همون update-database را انجام میده . برای seed هم میشه ازش استفاده کرد . فقط نتونستم راهی برای add-migration پیدا کنم که اونم فکر کنم با scaffold بشه .


واقعیت هم یکم با محیط کنسول مشکل دارم و فکر میکنم اون آزادی عمل و ندارم .

در ضمن یک برنامه نوشتم که الان زیر باره و نمیتونم بانک اطلاعاتیش را دراپ کنم . میخام از مایگریا استفاده کنم و تجربه هم ندارم . نمی‌دونم الان تو محیط کد از دستورات کنسول استفاده کنم بعد یک اینستال ازش بسازم و ببرم روی سیستم دیگه نصب کنم چه اتفاقی میوفته ؟ واقعا به همین راحتی migrate میشه ؟

پاسخ در 1401/10/08 توسط
0

راهی که نداره. این ساده ترین راهی هست که موجوده . اولش که شبیه همین کاریه که شما می خواید بکنید ( به هر حال entity ها باید تو پروژه بروز بشن)

حالا مشکلتون با package manager console چیه ؟ چرا دنبال یه راه دیگه هستید ؟

پاسخ در 1401/10/08 توسط
0

اول که خب شما قرار نیست تعداد بالایی کامند رو بنویسید ، یه Add و update هرباره است دیگه. یا ممکنه نهایتا بخواید roleback هم داشته باشید.

اما در مورد سرور production قضیه بسیار جالب تره. شما دو راه دارید:

1- خودتون script رو از محیط develope بگیرید و توی دیتابیس prodution اجراش کنید.

2- به صورت اتوماتیک خود برنامه تون  هر بار که اجرای اولیه میشه ، دیتابیسش رو آپدیت هم بکنه که خب یه جورایی بهتره.

هر دو روش در اولین پاسخ  اینجا بحث شده.

پاسخ در 1401/10/09 توسط

پاسخ شما