- 1400/07/10
- 0
- 138
راهنمایی برای کار انجام کار گروهی روی پروژه
سلام
ما یک پروژه داریم با codefirst قرار پیاده سازی کنیم
سوال من این است که اگر قسمت دیتا را که با entity پیاده کنیم به چه صورت تغییرات را با هم share کنیم ایا جدولی که من با codefirst ایجاد کردم بدم به یکی از اعضای گروه به درستی روی سیستم اون هم کار میکنه؟؟
یا راهی دیگه ای هست؟
- 1400/07/10
سلام
شما ابتدا پروژه خودتون و ایجاد میکنید و توسط CodeFirst کدهای جدول ها رو میسارید و توسط add-migration به دیتابیس انتقال میدید
بعد دیتابیس و در اختیار تیمتون قرار میدید
بعد از اون اگر تغییراتی در جدولها داشتید خودتون با CodeFirst تغییرات و ایجاد میکنید و بعد از اون در بازه زمانی مشخصی مثلا شنبه ها (نه هر وقت که تغییر دادید که بشه کار و مدیریت کرد) میایید و از script-migration استفاده میکنید و از آخرین migration به بعد رو با این دستور اسکریپت میگیرید و به تیمتون میدید تا در sql اجراش کنن و جدول هاشون بروز بشه
این روال رو تا آخر پروژه تکرار میکنید
فقط یادتون باشه در هر مرحله که اسکریپت میگیرید نام آخریم migration رو یه جایی ثبت کنید تا بعدا بفهمید تا کدوم migration رو به تیم دادید و بروز شدن
- 1400/07/11
خیلی ممنونم از توضیحاتتون..
بک آپ دیتابیس منظورتون در اختیارشون قرار بدم هر سری؟
برای اسکریپت هم از جدول migration که سمت دیتابیس ایجاد میشه اسکریپت بگیرم یا از سمت اپلیکیشن هم راهی هست؟؟؟
- 1400/07/11
برای سری اول میتونید یک بکاپ از دیتابیس براشون بفرستید و فقط یک بار این کار و انجام میدید
سری دوم به بعد از توی ویژوال همون طوری که add-migration انجام میدید و یک اسم براش تعیین میکنید و بعد update-database رو میزنید تا جدول های تغییر یافته به روز بشن بعد ممکنه در طول یک هفته add-migration های دیگری هم انجام بدید و مثلا تعداد 4 تا تغییرات در دیتابیس داشتید می آیید و بعد از همه تغییرات یک script-migration اجرا میکنید و جلوی این دستور اسم اولین migration که بعد از تحویل دیتابیس دادید و میزنید و سیستم از اون مایگریشن تا آخرین مایگریشن میاد از تغییراتی که توی مایگرشنها روی دیتابیس ایجاد شده رو اسکریپت میگیره و بعد بصورت یک فایل با پسوند sql ذخیره میکنید و اون فایل و میدید به گروه تا توی sql server بازش کنن و اجراش کنن تا تمامی تغییرات شما در دیتابیس اونها هم انجام بشه
مثال میزنم
شما 10 تا جدول ساختید و یک بار add-migration InitDB رو اجرا میکنید و بعد update-database و دیتابیس با جدولها ساخته میشن
بعد دیتابیس و بکاپ میگیرید به گروه میدید
بعد روزهای بعدی فرض بر اینکه شما دو تا جدول و تغییر دادید و یک جدول اضافه کردید و add-migration Change01_Edittable1-2AndAddtable رو انجام میدید
من نام رو مثلا اینطوری تعریف کردم و طولانیه شما برای مفهوم بهتر اسم کوتاه تر بزارید
و بعد update-database
روز سوم مجددا 4 تا جدول تغییر میکنن و دوباره add-migration Change02 و بعد Update-database
روز ششم 2 تا جدول جدید به پروژه اضافه میکنید و add-migration Change03_add2table و بعد Update-database
حالا میخواهید تغییرات و به گروه بدید
script-migration Change01_Edittable1-2AndAddtable این دستور و اجرا کنید میاد 3 تا migration موجود رو اسکریپت میگیره و توی یک فایل به شما نشون میده و شما این فایل و در اختیار گروه قرار میدید
دوباره در روزهای آتی اگر مایگریشن های 05و06و07 و .... انجام شد سری بعد جلوی script-migration نام 04 و وارد میکنید چرا که سری قبلی از 01 تا 03 رو اسکریپت گرفتید و الان از 04 نیاز دارید تا آخر که مثلا 06 هست
امیدوارم متوجه شده باشد
- 1400/07/12
سلام آقای عباس نژاد واقعا ممنونم از توضیحات کاملتون بله متوجه شدم...
یک دنیا تشکر..
پاسخی برای این باگ ارسال کنید
لطفا کدها را درون قطعه کد ارسال نمایید
برای ارسال پاسخ باید وارد حساب کاربری خود شوید
ورود به حساب کاربری