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 الكامل بالعربي.