117 lines
4.5 KiB
PHP
117 lines
4.5 KiB
PHP
<?php
|
|
|
|
/**
|
|
* إعدادات قواعد البيانات (Database Configuration)
|
|
*
|
|
* الغرض من الملف:
|
|
* تعريف جميع الاتصالات بقواعد البيانات التي يستخدمها المشروع. في هذا المشروع، نستخدم 3 قواعد بيانات مختلفة.
|
|
*
|
|
* كيفية العمل:
|
|
* 1. (primary): قاعدة البيانات الأساسية لبيانات المستخدمين والسيارات.
|
|
* 2. (ride): قاعدة بيانات مخصصة لعمليات الرحلات السريعة.
|
|
* 3. (tracking): قاعدة بيانات تتبع المواقع الجغرافية للسائقين.
|
|
*/
|
|
|
|
return [
|
|
|
|
'default' => env('DB_CONNECTION', 'primary'),
|
|
|
|
'connections' => [
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Primary Database (intaleqDB1) — Main Server
|
|
| Tables: driver, passengers, tokens, CarRegistration, ride, wallets, etc.
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
'primary' => [
|
|
'driver' => 'mysql',
|
|
'host' => env('DB_HOST', '127.0.0.1'),
|
|
'port' => env('DB_PORT', '3306'),
|
|
'database' => env('DB_DATABASE', 'intaleqDB1'),
|
|
'username' => env('DB_USERNAME', 'root'),
|
|
'password' => env('DB_PASSWORD', ''),
|
|
'unix_socket' => env('DB_SOCKET', ''),
|
|
'charset' => 'utf8mb4',
|
|
'collation' => 'utf8mb4_general_ci',
|
|
'prefix' => '',
|
|
'strict' => false,
|
|
'engine' => 'InnoDB',
|
|
'options' => extension_loaded('pdo_mysql') ? [
|
|
PDO::ATTR_PERSISTENT => true,
|
|
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8mb4 COLLATE utf8mb4_general_ci",
|
|
] : [],
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Ride Database (intaleq-ridesDB) — Ride Server
|
|
| Tables: ride, driver, car_locations, driver_orders, etc.
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
'ride' => [
|
|
'driver' => 'mysql',
|
|
'host' => env('DB_RIDE_HOST', '127.0.0.1'),
|
|
'port' => env('DB_RIDE_PORT', '3306'),
|
|
'database' => env('DB_RIDE_DATABASE', 'intaleq-ridesDB'),
|
|
'username' => env('DB_RIDE_USERNAME', 'root'),
|
|
'password' => env('DB_RIDE_PASSWORD', ''),
|
|
'unix_socket' => env('DB_RIDE_SOCKET', ''),
|
|
'charset' => 'utf8mb4',
|
|
'collation' => 'utf8mb4_general_ci',
|
|
'prefix' => '',
|
|
'strict' => false,
|
|
'engine' => 'InnoDB',
|
|
'options' => extension_loaded('pdo_mysql') ? [
|
|
PDO::ATTR_PERSISTENT => true,
|
|
] : [],
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Tracking Database (locationDB) — Location Server
|
|
| Tables: car_locations, car_tracks, driver_daily_summary, driver_daily_work
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
'tracking' => [
|
|
'driver' => 'mysql',
|
|
'host' => env('DB_TRACKING_HOST', '127.0.0.1'),
|
|
'port' => env('DB_TRACKING_PORT', '3306'),
|
|
'database' => env('DB_TRACKING_DATABASE', 'locationDB'),
|
|
'username' => env('DB_TRACKING_USERNAME', 'root'),
|
|
'password' => env('DB_TRACKING_PASSWORD', ''),
|
|
'unix_socket' => env('DB_TRACKING_SOCKET', ''),
|
|
'charset' => 'utf8mb4',
|
|
'collation' => 'utf8mb4_general_ci',
|
|
'prefix' => '',
|
|
'strict' => false,
|
|
'engine' => 'InnoDB',
|
|
'options' => extension_loaded('pdo_mysql') ? [
|
|
PDO::ATTR_PERSISTENT => true,
|
|
] : [],
|
|
],
|
|
|
|
],
|
|
|
|
'redis' => [
|
|
'client' => env('REDIS_CLIENT', 'predis'),
|
|
'default' => [
|
|
'host' => env('REDIS_HOST', '127.0.0.1'),
|
|
'password' => env('REDIS_PASSWORD', null),
|
|
'port' => env('REDIS_PORT', 6379),
|
|
'database' => env('REDIS_DB', 0),
|
|
],
|
|
'cache' => [
|
|
'host' => env('REDIS_HOST', '127.0.0.1'),
|
|
'password' => env('REDIS_PASSWORD', null),
|
|
'port' => env('REDIS_PORT', 6379),
|
|
'database' => env('REDIS_CACHE_DB', 1),
|
|
],
|
|
],
|
|
|
|
'migrations' => [
|
|
'table' => 'migrations',
|
|
'update_date_on_publish' => true,
|
|
],
|
|
];
|