بضائع

كيفية تكوين Laravel لاستخدام قواعد بيانات متعددة في مشروعك

عادةً ما يتضمن مشروع تطوير البرمجيات استخدام قاعدة بيانات لتخزين البيانات بطريقة منظمة.

بالنسبة لمشاريع محددة قد يكون من الضروري استخدام قواعد بيانات متعددة.

باستخدام Laravel، لاستخدام قواعد بيانات متعددة، نحتاج إلى تكوين إطار العمل وخاصة ملف تكوين الاتصالات.

دعونا نرى كيفية تكوين Laravel لاستخدام قواعد بيانات متعددة.

وقت القراءة المقدر: 4 دقيقة

قم بتقديم database.php in config دليل

يقع هذا الملف في الدليل config من تطبيق Laravel الخاص بك.

في الملف database.php فمن الممكن defiإنهاء اتصالات قاعدة بيانات متعددة. يجب أن يكون كل اتصال definited كمصفوفة. يجب أن تحتوي المصفوفة على المعلومات التالية:

  • driver: برنامج تشغيل قاعدة البيانات المطلوب استخدامه؛
  • host: الاسم host أو العنوان IP لخادم قاعدة البيانات؛
  • port: رقم منفذ خادم قاعدة البيانات؛
  • database: اسم قاعدة البيانات؛
  • username: اسم المستخدم للاتصال بقاعدة البيانات؛
  • password: كلمة المرور للاتصال بقاعدة البيانات؛

على سبيل المثال، التعليمات البرمجية التالية defiيوجد اتصالان بقاعدة البيانات، أحدهما لـ MySQL والآخر لـ PostgreSQL:

'connections' => [
        'sqlite' => [
            'driver' => 'sqlite',
            'url' => env('DATABASE_URL'),
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
        ],

        'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
    PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
        ],

        'pgsql' => [
            'driver' => 'pgsql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '5432'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'prefix_indexes' => true,
            'schema' => 'public',
            'sslmode' => 'prefer',
        ],

كيفية الاتصال بقاعدة البيانات

بعد defiبمجرد حصولك على اتصالات قاعدة البيانات، يمكنك استخدامها في التعليمات البرمجية الخاصة بك Laravel. للقيام بذلك، يمكنك استخدام facade من قاعدة البيانات. هناك facade توفر قاعدة البيانات واجهة موحدة للتفاعل مع قواعد البيانات.

للتبديل بين اتصالات قاعدة البيانات، يمكنك استخدام الأسلوب Connection() من facade قواعد بيانات. طريقة Connection() يأخذ اسم اتصال قاعدة البيانات كوسيطة.

على سبيل المثال، ينتقل الكود التالي من قاعدة بيانات mysql إلى قاعدة بيانات pgsql:

النشرة الإخبارية
لا تفوّت أهم أخبار الابتكار. قم بالتسجيل لتلقيهم عن طريق البريد الإلكتروني.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

بمجرد التبديل إلى اتصال قاعدة البيانات، يمكنك استخدامه للاستعلام عن قاعدة البيانات والتفاعل معها.

فوائد استخدام قواعد بيانات متعددة في Laravel

هناك فوائد عديدة لاستخدام قواعد بيانات متعددة في Laravel، بما في ذلك:

  • أداء أفضل: يمكن أن يؤدي استخدام قواعد بيانات متعددة إلى تحسين أداء التطبيق عن طريق فصل البيانات من أنواع مختلفة. على سبيل المثال، يمكنك تخزين بيانات المستخدم في قاعدة بيانات واحدة وبيانات المنتج في قاعدة بيانات أخرى.
  • الأمان المعزز: يمكن أن يؤدي استخدام قواعد بيانات متعددة إلى تحسين أمان التطبيق عن طريق فصل البيانات من أنواع مختلفة. على سبيل المثال، قد تقوم بتخزين بيانات حساسة في قاعدة بيانات واحدة وبيانات أقل حساسية في قاعدة بيانات أخرى.
  • قابلية أكبر للتوسع: يمكن أن يؤدي استخدام قواعد بيانات متعددة إلى جعل تطبيقك أكثر قابلية للتوسع من خلال السماح لك بتوزيع بياناتك عبر خوادم متعددة.

أفضل الممارسات لاستخدام قواعد بيانات متعددة في Laravel

فيما يلي بعض أفضل الممارسات لاستخدام قواعد بيانات متعددة في Laravel:

  • استخدم أسماء مألوفة لاتصالات قاعدة البيانات: سيؤدي ذلك إلى تسهيل تحديد اتصالات قاعدة البيانات وإدارتها.
  • استخدم الطريقة Connection() للذهاب من واحد DB إلى آخر - سيساعدك هذا على تجنب التشغيل عن طريق الخطأ سؤال في قاعدة بيانات خطأ.
  • استخدم نظام ترحيل قاعدة البيانات لإدارة مخططات قاعدة البيانات الخاصة بك - سيساعدك هذا في الحفاظ على مزامنة مخططات قاعدة البيانات الخاصة بك عبر جميع قاعدة بيانات.

استنتاج

يمكن أن يكون استخدام قواعد بيانات متعددة في Laravel طريقة رائعة لتحسين أداء تطبيقك وأمانه وقابلية التوسع. باتباع أفضل الممارسات الموضحة في هذه المقالة، يمكنك استخدام قواعد بيانات متعددة في Laravel بشكل فعال.

قراءات ذات صلة

Ercole Palmeri

النشرة الإخبارية
لا تفوّت أهم أخبار الابتكار. قم بالتسجيل لتلقيهم عن طريق البريد الإلكتروني.

المقالات الأخيرة

يوقع الناشرون وOpenAI اتفاقيات لتنظيم تدفق المعلومات التي تتم معالجتها بواسطة الذكاء الاصطناعي

أعلنت صحيفة فاينانشيال تايمز يوم الاثنين الماضي عن صفقة مع OpenAI. "فاينانشيال تايمز" ترخص صحافتها ذات المستوى العالمي...

أبريل 30 2024

المدفوعات عبر الإنترنت: إليك كيف تجعلك خدمات البث تدفع إلى الأبد

يدفع الملايين من الأشخاص مقابل خدمات البث، ويدفعون رسوم الاشتراك الشهرية. من الشائع أنك…

أبريل 29 2024

يتميز Veeam بالدعم الأكثر شمولاً لبرامج الفدية، بدءًا من الحماية وحتى الاستجابة والاسترداد

سوف تستمر شركة Coveware by Veeam في تقديم خدمات الاستجابة لحوادث الابتزاز السيبراني. ستوفر Coveware إمكانات الطب الشرعي والمعالجة...

أبريل 23 2024

الثورة الخضراء والرقمية: كيف تعمل الصيانة التنبؤية على تغيير صناعة النفط والغاز

تُحدث الصيانة التنبؤية ثورة في قطاع النفط والغاز، من خلال اتباع نهج مبتكر واستباقي لإدارة المحطات.

أبريل 22 2024

اقرأ الابتكار بلغتك

النشرة الإخبارية
لا تفوّت أهم أخبار الابتكار. قم بالتسجيل لتلقيهم عن طريق البريد الإلكتروني.

تابعنا