🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ ahmad Ghanavati
Edit Migration
جامعه لاراول ایجاد شده در ۱۲ آذر ۱۴۰۰
<p>درود بر استاد عزیز جناب سامی؛ </p><p>1-آیا برای تغییر نام فایل Migration از Rename بصورت دستی استفاده کنیم کار بصورت اصولی هست یا خیر یا اینکه باید با دستور خاصی این کار رو انجام داد؟</p><p>2- در هر حال اگر این Rename صورت گرفت چه بصورت دستی یا دستور خاص باید بعدش از Fresh استفاده کنیم یا rollback یا دستور دیگر یا اصلا نیازی نیست بعدش دستوری وارد کرد؟ اخه من برای طراحی دیتابیس که به ترتیب براساس کلید خارجی(<span style=\"color: rgb(33, 37, 41);\">foreign key)</span> وارد میکردم بصورت اشتباهی نام یک migration رو اشتباه وارد کردم و باز هم متوجه نشدم تا اینکه دستور را migrate کردم و بعدش که متوجه که شدم <span style=\"color: rgb(73, 94, 116);\"> که با خطاهای مختلفی روبرو شدم که در نهایت مجبور به db wipe شدم تا تمام خطاها مرتفع گردید </span></p><p><span style=\"color: rgb(73, 94, 116);\">3-آیا اگر بخواهیم به ترتیب براساس کلید خارجی migration‌ها رو وارد کنیم آیا بعد از وارد کردن هر جدول باید migrate کنیم یا نیازی نیست می‌توانیم همه را ایجاد کنیم بعد یه دفعه migrate کنیم؟</span></p><p><span style=\"color: rgb(73, 94, 116);\">4-شما در کلیپ آموزشی تون موقع ایجاد و اضافه کردن migration از helper استفاده کردید که من بدون helper اضافه و ایجاد کردم میخواستم بدونم استفاده از helper چه فرقی میکند بعنوان مثال دستور شما => add_slug_to_videos --table=video یا در جایی دیگر create_slug_video --tabale=video منظورم از helper این هست table=video -- که بدون استفاده از این هم ایجاد و یا add میشود</span></p><p><span style=\"color: rgb(73, 94, 116);\">5-آیا دلیل استفاده شما از </span>$table->dropcolumn(\'slug\')  برای این هست که موقع rollback ستون ما حذف شود یا دلیل دیگر دارد؟</p><p>با تشکر فراوان</p>

۱ - برای Rename کردن یک فایل مایگریشن باید اول تا اون فایل مایگریشن rollback کنید و بعد فایلتون رو به صورت دستی Rename کنید. البته این در حالتی هست که فایل شما روی سرور وجود نداره. زمانی که فایل روی سرور وجود داره چون امکان Rollback کردن وجود نداره باید داخل دیتابیس و در جدول migrations هم اون فایل رو اسمش رو تغییر بدید.

۳ - نیازی نیست که تک تک migrate کنید.

۴ - تفاوت چندانی نداره فقط با اون helper اسم دیتابیس داخل فایل مایگریشن نوشته میشه، اگر از helper استفاده نکنید باید خودتون به صورت دستی داخل فایل مایگریشن بنویسید. یکبار دستور رو بدون helper و با helper وارد کنید متوجه تغییر میشید.

۵ − دلیل دیگری ندارد.

بهترین پاسخ
مهرداد سامی ۱۳ آذر ۱۴۰۰، ۱۳:۰۴