آفلاین
user-avatar

اضافه کردن یک فیلد جدید به دیتابیس

12 ماه پیش
توسط حسام موسوی آپدیت شد
آفلاین
user-avatar
developer ( 33462 تجربه )
3 سال پیش
تخصص : برنامه نویس

یک جدول دارم مثلا برای محصولات، که یکسری فیلد داره، و هزارتا هم محصول وارد کردم، حالا بعد یک سال میخوام یک فیلد جدید اضافه کنم مثلا فیلد رنگ محصول، چجوری اضافه کنم که اون هزار محصول پاک نشه؟ این فیلد جدید رو چجوری به اون هزارتا وارد کنم؟

بهترین پاسخ انتخاب شده توسط developer
آفلاین
user-avatar
حسام موسوی
3 سال پیش

کی گفته از بین میره ؟
این مایگریشن وظیفه create جدول نداره وظیفه تغییر جدول داره
که بعد از قرار دادن فیلد دستور

php artisan migrate 

رو میزنید اگر هم نمیخواید از migrate استفاده کنید میتونید از خود phpmyadmin استفاده کنید

آفلاین
user-avatar
حسام موسوی ( 382469 تجربه )
3 سال پیش
تخصص : طراح و برنامه نویس

اگر از طریق مایگریشن میخواین عمل کنید فقط کافیه یه مایگریشن جدید ایجاد کنید و داخلش فیلدی که برای جدولتون میخواید رو قرار بدید و بجای create از table استفاده کنید مثل زیر

Schema::table('XXXX', function (Blueprint $table) {

        });
آفلاین
user-avatar
developer ( 33462 تجربه )
3 سال پیش
تخصص : برنامه نویس

خب الان وقتی migrate کنم که همه اطلاعات قبلی از بین میره! چجوری این مایگریشن جدید رو اعمال کنم که قبلی ها باقی بمونه؟

آفلاین
user-avatar
حسام موسوی ( 382469 تجربه )
3 سال پیش
تخصص : طراح و برنامه نویس

کی گفته از بین میره ؟
این مایگریشن وظیفه create جدول نداره وظیفه تغییر جدول داره
که بعد از قرار دادن فیلد دستور

php artisan migrate 

رو میزنید اگر هم نمیخواید از migrate استفاده کنید میتونید از خود phpmyadmin استفاده کنید

آفلاین
user-avatar
Davood ( 32693 تجربه )
12 ماه پیش
تخصص : کارآموز PHP

@hesammousavi

این رو باید داخل متد up زیر create بذاریم ؟؟؟؟

Schema::table('XXXX', function (Blueprint $table) {

        });
آفلاین
user-avatar
حسام موسوی ( 382469 تجربه )
12 ماه پیش
تخصص : طراح و برنامه نویس

@dfardabasi
خیر در یک مایگریشن جدید این کد رو قرار میدید

برای ارسال پاسخ باید وارد سایت شوید