المهاجر (Migrations) ونظام إدارة قاعدة البيانات

تخيل أنك تعمل في فريق، وكيف سيكون من الصعب مشاركة التعديلات التي تجريها على قاعدة البيانات يدوياً. هنا تبرز قوة Migrations. هي بمثابة "نظام تتبع للتعديلات" (Version Control) ولكن لقواعد البيانات. بدلاً من استخدام SQL يدوياً عبر phpMyAdmin، ستكتب كود PHP يصف جداولك، وسيتكفل لارافيل ببنائها ومشاركتها مع فريقك.

1. إنشاء ملف تهجير جديد

لإنشاء جدول جديد، نستخدم أمر Artisan المختص. سيقوم الإطار بإنشاء ملف داخل مجلد database/migrations يحتوي على طابع زمني لضمان ترتيب التنفيذ:

php artisan make:migration create_posts_table

2. تعريف بنية الجدول

داخل الملف المنشأ، ستجد وظيفة up (لبناء الجدول) ووظيفة down (لحذفه في حال الرغبة في التراجع). إليك مثال لتعريف جدول مقالات:

public function up(): void
{
    Schema::create('posts', function (Blueprint $table) {
        $table->id(); // مفتاح التعريف التلقائي
        $table->string('title'); // نص قصير
        $table->text('body'); // نص طويل
        $table->integer('views')->default(0); // رقم مع قيمة افتراضية
        $table->timestamps(); // تاريخ الإنشاء والتعديل
    });
}

3. تنفيذ وعكس المهجر

بعد كتابة الكود، يجب إخبار لارافيل بتنفيذه فعلياً على قاعدة البيانات:

php artisan migrate

وإذا أردت التراجع عن آخر عملية تهجير قمت بها (لحذف الجداول الأخيرة):

php artisan migrate:rollback

أسئلة شائعة حول المهاجر

لا تقم بتعديل ملف التهجير القديم! بل أنشئ ملف تهجير جديد باستخدام --table، مثال: php artisan make:migration add_slug_to_posts_table --table=posts.

هذا الأمر يقوم بمسح جميع الجداول في قاعدة البيانات وإعادة بنائها من الصفر. كن حذراً، فسيؤدي ذلك لفقدان جميع البيانات المخزنة فعلياً.
المرحلة القادمة

Eloquent ORM للمبتدئين

صممنا الجداول، الآن حان وقت التفاعل معها. سنتعلم كيف نستخدم Eloquent للتعامل مع البيانات كأننا نتعامل مع كائنات PHP عادية وبسيطة.

اكتشف Eloquent ORM
المحرر الذكي

اكتب الكود وشاهد النتيجة فوراً

جرب الآن مجاناً
قناة ديف عربي

تابع أحدث الدروس والتحديثات مباشرة على واتساب

انضم الآن