أوامر قاعدة البيانات
تدير أوامر قاعدة البيانات ترحيلات مخطط PostgreSQL وبذر البيانات. يُولّد FORGE ملفات ترحيل SQL مُرقّمة وبذور متوافقة مع Rust تعمل بترتيب حتمي.
forge migrate:run
تشغيل جميع الترحيلات المُعلّقة على قاعدة البيانات المتصلة.
الاستخدام
forge migrate:run [OPTIONS]الخيارات
| الخيار | النوع | الافتراضي | الوصف |
|---|---|---|---|
--verbose | flag | false | طباعة كل عبارة SQL أثناء التنفيذ. |
مثال
forge migrate:run --verboseجاري تشغيل الترحيلات المُعلّقة...
[1/3] 00014_create_contents_table تم التطبيق (12 مللي ثانية)
[2/3] 00015_create_menus_table تم التطبيق (8 مللي ثانية)
[3/3] 00016_migrate_media_polymorphic تم التطبيق (15 مللي ثانية)
تم تطبيق جميع الترحيلات بنجاح.forge migrate:fresh
حذف كل جدول في قاعدة البيانات وإعادة تشغيل جميع الترحيلات من الصفر. اختيارياً، بذر قاعدة البيانات بعد ذلك.
الاستخدام
forge migrate:fresh [OPTIONS]الخيارات
| الخيار | النوع | الافتراضي | الوصف |
|---|---|---|---|
--seed | flag | false | تشغيل البذور بعد اكتمال الترحيلات. |
خطر
migrate:fresh يُدمّر جميع البيانات. يحذف كل جدول، بما في ذلك تلك غير المُدارة من FORGE. لا تُشغّل هذا أبداً على قاعدة بيانات إنتاج.
مثال
forge migrate:fresh --seedforge migrate:status
عرض جدول يُظهر أي الترحيلات طُبّقت وأيها مُعلّقة.
الاستخدام
forge migrate:statusمثال على المخرجات
┌────┬──────────────────────────────────────────┬──────────┬─────────────────────┐
│ # │ الترحيل │ الحالة │ تاريخ التطبيق │
├────┼──────────────────────────────────────────┼──────────┼─────────────────────┤
│ 1 │ 00001_create_users_table │ مُطبّق │ 2025-04-10 08:12:03 │
│ 2 │ 00002_create_roles_table │ مُطبّق │ 2025-04-10 08:12:03 │
│ 3 │ 00003_create_permissions_table │ مُطبّق │ 2025-04-10 08:12:03 │
│ .. │ ... │ ... │ ... │
│ 14 │ 00014_create_contents_table │ مُعلّق │ — │
│ 15 │ 00015_create_menus_table │ مُعلّق │ — │
└────┴──────────────────────────────────────────┴──────────┴─────────────────────┘forge migrate:rollback
عكس أحدث دفعة من الترحيلات، أو التراجع عدد محدد من الخطوات.
الاستخدام
forge migrate:rollback [OPTIONS]الخيارات
| الخيار | النوع | الافتراضي | الوصف |
|---|---|---|---|
--step | number | 1 | عدد خطوات الترحيل للعكس. |
تحذير
التراجع يُنفّذ SQL الـ down لكل ترحيل بترتيب عكسي. تأكد من اختبار ترحيلات down قبل الاعتماد على هذا في staging أو الإنتاج.
أمثلة
# Rollback the last migration
forge migrate:rollback
# Rollback the last 3 migrations
forge migrate:rollback --step 3forge migrate:reset
التراجع عن كل ترحيل مُطبّق، تاركاً قاعدة البيانات مع جدول تتبع _migrations فقط.
الاستخدام
forge migrate:resetخطر
migrate:reset يعكس جميع الترحيلات. ستُفقد جميع البيانات. هذا يُعادل migrate:rollback --step <total>.
forge seed
تشغيل بذور قاعدة البيانات لملء قاعدة البيانات ببيانات أولية أو اختبارية.
الاستخدام
forge seed [OPTIONS]الخيارات
| الخيار | النوع | الافتراضي | الوصف |
|---|---|---|---|
--class | string | — | تشغيل بذرة محددة بالاسم بدلاً من جميع البذور. |
--refresh | flag | false | تفريغ جميع الجداول المبذورة قبل إعادة تشغيل البذور. |
أمثلة
# Run all seeders
forge seed
# Run a specific seeder
forge seed --class permissions
# Truncate and re-seed everything
forge seed --refreshتحذير
خيار --refresh يُفرّغ الجداول بترتيب متسلسل قبل إعادة البذر. ستُحذف البيانات الموجودة في تلك الجداول.
سير العمل الشائع
الإعداد الأولي بعد استنساخ مشروع:
forge migrate:run
forge seedإعادة تعيين كل شيء أثناء التطوير:
forge migrate:fresh --seedالتحقق مما يحتاج للتشغيل قبل النشر:
forge migrate:statusانظر أيضاً
- أوامر التوليد — إنشاء ترحيلات وبذور جديدة مع
make:migrationوmake:seeder - أوامر التطوير — بدء الخوادم وتشغيل الاختبارات
- أوامر النشر — النشر مع الترحيلات في الإنتاج