Skip to content

أوامر قاعدة البيانات

تدير أوامر قاعدة البيانات ترحيلات مخطط PostgreSQL وبذر البيانات. يُولّد FORGE ملفات ترحيل SQL مُرقّمة وبذور متوافقة مع Rust تعمل بترتيب حتمي.

forge migrate:run

تشغيل جميع الترحيلات المُعلّقة على قاعدة البيانات المتصلة.

الاستخدام

bash
forge migrate:run [OPTIONS]

الخيارات

الخيارالنوعالافتراضيالوصف
--verboseflagfalseطباعة كل عبارة SQL أثناء التنفيذ.

مثال

bash
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

حذف كل جدول في قاعدة البيانات وإعادة تشغيل جميع الترحيلات من الصفر. اختيارياً، بذر قاعدة البيانات بعد ذلك.

الاستخدام

bash
forge migrate:fresh [OPTIONS]

الخيارات

الخيارالنوعالافتراضيالوصف
--seedflagfalseتشغيل البذور بعد اكتمال الترحيلات.

خطر

migrate:fresh يُدمّر جميع البيانات. يحذف كل جدول، بما في ذلك تلك غير المُدارة من FORGE. لا تُشغّل هذا أبداً على قاعدة بيانات إنتاج.

مثال

bash
forge migrate:fresh --seed

forge migrate:status

عرض جدول يُظهر أي الترحيلات طُبّقت وأيها مُعلّقة.

الاستخدام

bash
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

عكس أحدث دفعة من الترحيلات، أو التراجع عدد محدد من الخطوات.

الاستخدام

bash
forge migrate:rollback [OPTIONS]

الخيارات

الخيارالنوعالافتراضيالوصف
--stepnumber1عدد خطوات الترحيل للعكس.

تحذير

التراجع يُنفّذ SQL الـ down لكل ترحيل بترتيب عكسي. تأكد من اختبار ترحيلات down قبل الاعتماد على هذا في staging أو الإنتاج.

أمثلة

bash
# Rollback the last migration
forge migrate:rollback

# Rollback the last 3 migrations
forge migrate:rollback --step 3

forge migrate:reset

التراجع عن كل ترحيل مُطبّق، تاركاً قاعدة البيانات مع جدول تتبع _migrations فقط.

الاستخدام

bash
forge migrate:reset

خطر

migrate:reset يعكس جميع الترحيلات. ستُفقد جميع البيانات. هذا يُعادل migrate:rollback --step <total>.


forge seed

تشغيل بذور قاعدة البيانات لملء قاعدة البيانات ببيانات أولية أو اختبارية.

الاستخدام

bash
forge seed [OPTIONS]

الخيارات

الخيارالنوعالافتراضيالوصف
--classstringتشغيل بذرة محددة بالاسم بدلاً من جميع البذور.
--refreshflagfalseتفريغ جميع الجداول المبذورة قبل إعادة تشغيل البذور.

أمثلة

bash
# Run all seeders
forge seed

# Run a specific seeder
forge seed --class permissions

# Truncate and re-seed everything
forge seed --refresh

تحذير

خيار --refresh يُفرّغ الجداول بترتيب متسلسل قبل إعادة البذر. ستُحذف البيانات الموجودة في تلك الجداول.


سير العمل الشائع

الإعداد الأولي بعد استنساخ مشروع:

bash
forge migrate:run
forge seed

إعادة تعيين كل شيء أثناء التطوير:

bash
forge migrate:fresh --seed

التحقق مما يحتاج للتشغيل قبل النشر:

bash
forge migrate:status

انظر أيضاً

Released under the MIT License.