تخفيضات الجمعة السوداءخصم يصل إلى 60%
  • خصم 60% على السنة الأولى في الباقات السنوية
  • خصم 45% على التراخيص مدى الحياة
ينتهي خلال
احصل على العرض

بيانات تاريخية على MongoDB

بشكل افتراضي، تعيش كل جدول على اتصال التطبيق الرئيسي الخاص بك (PostgreSQL أو MySQL) — لا شيء في هذه الميزة يغير ذلك ما لم تقم بالاختيار. يمكن للمتاجر المستضافة ذاتياً التي تحتوي على الكثير من التاريخ القابل للإضافة فقط (مدخلات سجل النشاط، نصوص المحادثات، تاريخ بريد CRM) نقل تلك الجداول فقط إلى اتصال منفصل، بما في ذلك MongoDB، دون لمس أي شيء آخر.

ما الذي يتم نقله

  • سجل النشاط — جدول activity_log (كل إدخال تدقيق لإنشاء/تحديث/حذف/تسجيل دخول)
  • رسائل الدردشة — جدول msg_messages لوحدة المراسلة
  • تاريخ بريد CRM — جداول crm_email_messages وcrm_email_events

كل شيء آخر — الطلبات، المنتجات، العملاء، المحاسبة — يبقى دائماً على اتصالك الأساسي. هذه خطوة مستهدفة لجداول التاريخ ذات الحجم الكبير، والتي نادراً ما يتم الانضمام إليها فقط.

الخيار أ: اتصال SQL آخر

وجه التاريخ إلى أي اتصال تم تعريفه بالفعل في config/database.php (على سبيل المثال، قاعدة بيانات Postgres الثانية المخصصة للسجلات):

HISTORICAL_DB_CONNECTION=pgsql_history

هذا يعمل على الفور دون حزم إضافية — إنه Eloquent عادي على اتصال SQL عادي.

الخيار ب: MongoDB

قالب اتصال mongodb يأتي مع config/database.php بالفعل، لكنه غير نشط حتى تختار ذلك:

HISTORICAL_DB_CONNECTION=mongodb
MONGODB_URI=mongodb://user:password@host:27017
MONGODB_DATABASE=storeconsole_history

دعم MongoDB يتطلب شيئين لا يقوم هذا النظام بتثبيتهما بشكل افتراضي:

  • امتداد mongodb PHP على خادمك
  • composer require mongodb/laravel-mongodb (مدرج تحت suggest في الجذر composer.json)

بدون تثبيت الامتداد والحزمة، يتم تجاهل إعداد HISTORICAL_DB_CONNECTION=mongodb بأمان — كل نموذج يعود إلى الاتصال الافتراضي ويبدأ التطبيق ويعمل تمامًا كما كان من قبل.

دعم نموذج MongoDB الكامل

بمجرد تثبيت mongodb/laravel-mongodb، يتيح لك تبديل الاتصال الوصول إلى مستوى مُنشئ الاستعلام لمجموعة Mongo. للحصول على دعم Eloquent الكامل (تحويلات BSON، مفاتيح أساسية ObjectId، مستندات مدمجة) أضف أيضًا سمة MongoDB\Laravel\Eloquent\DocumentModel للحزمة إلى النموذج، جنبًا إلى جنب مع سمة تبديل الاتصال التي تأتي مع هذا النظام على نماذج التاريخ:

use StoreConsole\PlatformKit\Traits\UsesHistoricalConnection;
use MongoDB\Laravel\Eloquent\DocumentModel;

class Activity extends SpatieActivity
{
    use UsesHistoricalConnection;
    use DocumentModel;
}

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

كيفية التراجع

قم بإلغاء تعيين HISTORICAL_DB_CONNECTION (أو قم بإعادته إلى فارغ) وكل نموذج يعود إلى الاتصال الافتراضي في الطلب التالي — لا حاجة لترحيل لإيقاف الميزة.

آخر تحديث: 11/7/2026