Files
intaleq_v2/config/database.php
2026-04-24 15:12:12 +03:00

120 lines
4.6 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_PRIMARY_HOST_V2', 'localhost'),
'port' => env('DB_PRIMARY_PORT', '3306'),
'database' => env('DB_PRIMARY_NAME_V2', 'intaleqDBV2'),
'username' => env('DB_PRIMARY_USER_V2', 'intaleqUserV2'),
'password' => env('DB_PRIMARY_PASS_V2', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_general_ci',
'prefix' => '',
'strict' => true,
'engine' => 'InnoDB',
'timezone' => '+03:00',
'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_NAME', 'intaleq-ridesDB'),
'username' => env('DB_RIDE_USER', 'root'),
'password' => env('DB_RIDE_PASS', ''),
'unix_socket' => env('DB_RIDE_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_general_ci',
'prefix' => '',
'strict' => true,
'engine' => 'InnoDB',
'timezone' => '+03:00',
'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_NAME', 'locationDB'),
'username' => env('DB_TRACKING_USER', 'root'),
'password' => env('DB_TRACKING_PASS', ''),
'unix_socket' => env('DB_TRACKING_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_general_ci',
'prefix' => '',
'strict' => true,
'engine' => 'InnoDB',
'timezone' => '+03:00',
'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,
],
];