تخطَّ إلى المحتوى

migrate

تنفيذ الهجرات migrate

migrate ينفّذ كل ملفّات الهجرة التي لم تُنفَّذ بعد، فيبني جداول قاعدة البيانات فعليًا حسب الترتيب الزمني لأسماء الملفّات.

Laravel يتتبّع الهجرات المنفَّذة بجدول migrations خاص، فلا يعيد تنفيذ نفس الهجرة مرّتين. توجد عدّة أوامر شقيقة للتحكّم الكامل بدورة حياة قاعدة البيانات: التراجع، إعادة البناء الكاملة، ومعرفة الحالة الحالية.

الصياغة

php artisan migrate [options]

📄 مثال

# تنفيذ الهجرات الجديدة فقط
php artisan migrate

# التراجع عن آخر دفعة هجرات
php artisan migrate:rollback

# حذف كل الجداول وإعادة بنائها من الصفر
php artisan migrate:fresh

# التراجع الكامل ثم إعادة التنفيذ (يحافظ على أسماء الجداول القديمة إن وُجدت)
php artisan migrate:refresh

# عرض حالة كل هجرة (منفَّذة أم لا)
php artisan migrate:status

# تنفيذ في الإنتاج بلا سؤال تأكيد
php artisan migrate --force

أهم الخيارات

الخيارالوظيفة
migrate:rollbackيتراجع عن آخر دفعة هجرات (أو دفعات محدّدة بـ --step)
migrate:freshيحذف كل الجداول ثم ينفّذ كل الهجرات من الصفر
migrate:refreshتراجع كامل ثم إعادة تنفيذ، مع دعم --seed لتعبئة البيانات بعدها
migrate:statusيعرض قائمة الهجرات وحالة كل واحدة
--forceينفّذ بلا سؤال تأكيد — لازم في بيئة الإنتاج غير التفاعلية

💡 نصائح عملية

  • استخدم migrate:fresh --seed أثناء التطوير لإعادة بناء قاعدة بيانات نظيفة ومملوءة ببيانات تجريبية بأمر واحد

⚠️ أخطاء شائعة

  • تشغيل migrate:fresh على قاعدة بيانات إنتاج حقيقية — يحذف كل البيانات نهائيًا بلا رجعة

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار LARAVEL الكامل بالعربي.