رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اضافه کردن فیلد جدید بدون ساخت migration جدید
#1
درود بر عزیزان دل ، دوستان چه طوری میشه یک فیلد جدید در table ساخت بدون این که migration جدیدی بسازی .

به عنوان ممثال ما یک migration داریم به این صورت :

کد:
Schema::table('articles', function (Blueprint $table) {
           $table->string('image');
           
       });


حالا میخوایم در آینده یک فیلد جدید دیگه بسازیم در جدولمون به این شکل:

کد:
Schema::table('articles', function (Blueprint $table) {
           $table->string('image');
           $table->string('test');
       });

ولی وقتی دستور
کد:
php artisan migrate
رو میزنی این پیغام رو میده :
کد:
Nothing to migrate.


حالا من میخوام بدون ساخت migration جدید این کار رو بکنم چه جوری میشه؟



پیشاپیش از پاسخ گویی شما عزیزان سپاس گزارم .
پاسخ
#2
قبلش باید migration ها رو rollback کنی و بعد دوباره migrate کنی...

کد:
php artisan migrate:rollback
php artisan migrate
پاسخ
#3
(10-16-2015, 11:09 AM)tuytoosh نوشته:  قبلش باید migration ها رو rollback کنی و بعد دوباره migrate کنی...



کد:
php artisan migrate:rollback
php artisan migrate



دوست عزیز ، برای همان لحظه بله حرف شما درسته ولی فرض رو بر این بزارید که دوماه دیگه یک فیلد بخواد اضافه بشه اونوقت Rollback برای آخرین عمل هست ، نه برای دوماه پیش درسته ؟
پاسخ
#4
refresh کنید همه رو دوباره میسازه :

کد:
php artisan migrate:refresh

یا میتونید دوبار rollback کنید

و یا میتونید آیدی میگریت ها رو عوض کنید...
پاسخ
#5
رفرش اگر بشه کل دیتا ها از بین میره دوست گرامی . قبلا تست شده
پاسخ
#6
میتونید به صورت دستی توی phpmyadmin هم فیلد اضافه کنید
پاسخ
#7
(10-18-2015, 10:26 AM)tuytoosh نوشته:  میتونید به صورت دستی توی phpmyadmin هم فیلد اضافه کنید


بله دستی رو میدونم تحت کنسول میخواستم بدونم چه جوری میشه . که گویا فعلا راهی نیست و این فکر میکنم یک ضعف هست . باز هم ممنون بابت راهنمایی هات دوست من . Cool
پاسخ
#8
(10-18-2015, 05:25 PM)Bvk.Programmer نوشته:  
(10-18-2015, 10:26 AM)tuytoosh نوشته:  میتونید به صورت دستی توی phpmyadmin هم فیلد اضافه کنید


بله دستی رو میدونم تحت کنسول میخواستم بدونم چه جوری میشه . که گویا فعلا راهی نیست و این فکر میکنم یک ضعف هست . باز هم ممنون بابت راهنمایی هات دوست من . Cool

راه حلی که میگم اصلا توصیه نمی‌شه و بهتره از یک migration جدید استفاده کنید.


برای تغییر تو یه migration باید اون migration حتما Roll Back بشه. اگه بعد از migrate کردن migration مد نظرتون، migrationهای دیگه‌ای رو migrate کردید، تنها راه حل دستکاری مقدار فیلد batch در جدول migration برای migration مدنظرتون هست. اگه مقدار batch رو برای migration مد نظرتون به بیشترین مقدار تغییر بدید وقتی roll back انجام میدید فقط اون migration که مقدار فیلد batchش رو به بیشترین مقدار تغییر دادید Roll back میشه

می‌دونم جمله‌م خیلی پیچیده شد Big Grin ولی بهتر از این نمی‌شد بدون مثال و تو متن توضیحش داد Blush
Senior PHP & Laravel Developer | Software Architecture

[عکس: __Twitter.png]       [عکس: __Linkedin.png]

weblog | Codecasts
پاسخ
 


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  ساخت هاست مجازی برای اجرای خودکار روی پورت ۸۰ larch 0 5 دیروز, 04:36 AM
آخرین ارسال: larch
  اعتبار سنجی مدیر و کاربر هنگام لاگین کردن ilbeygi 0 88 08-22-2016, 02:11 PM
آخرین ارسال: ilbeygi
  آموزش Migration در لاراول 5 alihossein 9 1,158 08-15-2016, 04:17 PM
آخرین ارسال: Naser.SherafatiNia
  مشکل در تعریف پروژه جدید لاراولی در php storm feri 3 114 08-07-2016, 05:42 AM
آخرین ارسال: feri
  ارتباط model با migration ebibombas1988 1 55 08-06-2016, 06:33 AM
آخرین ارسال: hamo
  سفارشی کردن اتنتیکیت لاراول davoodsh 1 93 07-25-2016, 03:47 AM
آخرین ارسال: farik
  # سوال : آموزش ساخت ربات تلگرام با پکیج irazasyed/telegram-bot-sdk Bvk.Programmer 0 234 04-25-2016, 04:54 PM
آخرین ارسال: Bvk.Programmer
  نوع فایل در migration maryam 1 95 04-04-2016, 12:21 PM
آخرین ارسال: Bvk.Programmer
  ساخت فانکشن ! alimosavi 1 63 03-31-2016, 04:31 PM
آخرین ارسال: Bvk.Programmer
  ساخت query از url hamidnick 0 63 03-19-2016, 06:05 AM
آخرین ارسال: hamidnick

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

درباره انجمن فریم ورک لاراول

انجمن لاراولیستا به عشق توسعه دهنده ها و علاقمندان به این فریم ورک محبوب ایجاد شده و امیدواریم با نظرات خوبتون ما رو در بهبود کار یاری کنید. در ضمن خیلی هم خوشحال میشیم شما هم در توسعه این انجمن سهمی داشته باشید.