nikolo
4 سال پیش توسط nikolo مطرح شد
1 پاسخ

مایگریت کردن یک table

سلام در صورت تغییر توی فیلدهای table migrate ، چه دستوری باید زده بشه که فقط همون table مورد نظر مایگریت بشه و بقیه ی تیبل ها migrate نشه ؟؟


ثبت پرسش جدید
سبحان دادخواه
تخصص : دانشجوی برنامه نویسی :)
@SobhanDadkhah 4 سال پیش آپدیت شد
0

@m.nikolo سلام.
اگر آخرین بار همین جدول رو مایگریت کردین با دستور migrate:rollback یه مرحله به عقب برمیگرده و جدول دراپ میشه و دوباره میتونید مایگریت کنید . اما اگر همون سری قبلی چندین جدول رو مایگریت کرده باشین با دستور rollback همه اونها باهم دراپ میشه . توصیه میکنم مستندات رو بخونید اما من یه شرح کلی میدم خدمتتون :
توضیح کلی اینه که با دستور migrate:status میتونید ببینید که ترتیب مایگریت شدن جداولتون به چه صورته. هربار که جدولی رو مایگریت میکنید یک مرحله به batch شما اضافه میشه ... شما با دستور migrate:status مثلا اگر بزرگترین batch که دارین 3 هست یعنی کلا سه مرحله مایگریت پله پله دارین. و وقتی rollback میکنید از آخرین قدم شروع میکنه یدونه یدونه برگرده . مثلا اگر بزرگترین batch 3 هست و دوتا جدول دارین که batch 3 رو دارند با rollback فقط اون دو جدول دراپ میشن و میتونید دوباره مایگریتشون کنید . هرچقدر rollback رو تکرار کنید مراحل بیشتری به عقب برمیگرده.
البته تحت هر شرایط اطلاعات جداول از بین میره . توصیه میکنم اگر میخواین فقط یه فیلد از جدولی که اطلاعات داره رو تغییر بدین و سایت در حالت تست و لوکال نیست ، تغییراتو توی مایگریشن اضافه کنید که بعدا به مشکل نخورین ولی همون فیلدو بصورت دستی از داخل phpmyadmin اضافه کنید. سوال دیگه ای بود حتما بپرسین
امیدوارم واضح توضیح داده باشم . موفق باشید


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام