diff --git a/docker/.env.example b/docker/.env.example index edbb9ca3..3230e20b 100644 --- a/docker/.env.example +++ b/docker/.env.example @@ -11,18 +11,39 @@ HTTP_PORT=8181 # عند الربط بدومين حقيقي: ضع الدومين هنا APP_DOMAIN= -# --- قواعد البيانات (من داخل شبكة الحاويات: host = mysql) --- +# --- قواعد البيانات (من داخل شبكة الحاويات: جميع الـ HOSTS يجب أن تكون mysql) --- MYSQL_ROOT_PASSWORD=change-me -DB_HOST=mysql -DB_PORT=3306 -DB_USER=root -DB_PASS=${MYSQL_ROOT_PASSWORD} -# أسماء القواعد — طابقها مع mysql/init/00-databases.sql ومع ما يتوقعه الكود -DB_NAME_PRIMARY=siro_primary -DB_NAME_RIDE=siro_ride -DB_NAME_TRACKING=siro_tracking -DB_NAME_WALLET=siro_wallet -DB_NAME_LOCATION=siro_location + +# 1. Primary DB V2 +DB_PRIMARY_HOST_V2=mysql +DB_PRIMARY_NAME_V2=jorSiroDB +DB_PRIMARY_USER_V2=intaleqapp-jordan-siro +DB_PRIMARY_PASS_V2=7B7skfibrexQrGCUG1Y8 + +# 2. Primary DB V1 +DB_PRIMARY_HOST=mysql +DB_PRIMARY_NAME=intaleqDB1 +DB_PRIMARY_USER=intaleqUserDB1 +DB_PRIMARY_PASS=NANatr7j4d8HzZjAcp00bbsjkdhfjsn + +# 3. Tracking DB +DB_TRACKING_HOST=mysql +DB_TRACKING_NAME=locationDB +DB_TRACKING_USER=intaleqLocation +DB_TRACKING_PASS=9otdMyiExMTXwnoA32sP + +# 4. Ride DB +DB_RIDE_HOST=mysql +DB_RIDE_NAME=intaleq-ridesDB +DB_RIDE_USER=intaleq-rides +DB_RIDE_PASS=0bHHMALEj4sqSmdT0avT + +# 5. Transit DB +DB_TRANSIT_HOST=mysql +DB_TRANSIT_PORT=3306 +DB_TRANSIT_NAME=siroTransitDb +DB_TRANSIT_USER=siroTransitUser +DB_TRANSIT_PASS=eZiDYxCJ2yyGfC32zG0Z # --- Redis (نسخة واحدة تكفي النسخة المستنسخة — الفصل في اللايف كان فصل سيرفرات) --- REDIS_HOST=redis diff --git a/docker/mysql/init/00-databases.sql b/docker/mysql/init/00-databases.sql index c0aae319..b26a8085 100644 --- a/docker/mysql/init/00-databases.sql +++ b/docker/mysql/init/00-databases.sql @@ -1,7 +1,25 @@ -- تُنشأ القواعد فارغة عند أول إقلاع فقط (volume جديد). --- ⚠️ عدّل الأسماء لتطابق ما تتوقعه ملفات .env في اللايف قبل أول تشغيل. -CREATE DATABASE IF NOT EXISTS siro_primary CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -CREATE DATABASE IF NOT EXISTS siro_ride CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -CREATE DATABASE IF NOT EXISTS siro_tracking CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -CREATE DATABASE IF NOT EXISTS siro_wallet CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -CREATE DATABASE IF NOT EXISTS siro_location CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +-- ⚠️ الأسماء مطابقة لبيئة اللايف الخاصة بك. +CREATE DATABASE IF NOT EXISTS `jorSiroDB` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +CREATE DATABASE IF NOT EXISTS `intaleqDB1` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +CREATE DATABASE IF NOT EXISTS `locationDB` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +CREATE DATABASE IF NOT EXISTS `intaleq-ridesDB` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +CREATE DATABASE IF NOT EXISTS `siroTransitDb` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + +-- إنشاء المستخدمين وإعطائهم الصلاحيات لكي تتطابق البيئة مع اللايف 100% +CREATE USER IF NOT EXISTS 'intaleqapp-jordan-siro'@'%' IDENTIFIED BY '7B7skfibrexQrGCUG1Y8'; +GRANT ALL PRIVILEGES ON `jorSiroDB`.* TO 'intaleqapp-jordan-siro'@'%'; + +CREATE USER IF NOT EXISTS 'intaleqUserDB1'@'%' IDENTIFIED BY 'NANatr7j4d8HzZjAcp00bbsjkdhfjsn'; +GRANT ALL PRIVILEGES ON `intaleqDB1`.* TO 'intaleqUserDB1'@'%'; + +CREATE USER IF NOT EXISTS 'intaleqLocation'@'%' IDENTIFIED BY '9otdMyiExMTXwnoA32sP'; +GRANT ALL PRIVILEGES ON `locationDB`.* TO 'intaleqLocation'@'%'; + +CREATE USER IF NOT EXISTS 'intaleq-rides'@'%' IDENTIFIED BY '0bHHMALEj4sqSmdT0avT'; +GRANT ALL PRIVILEGES ON `intaleq-ridesDB`.* TO 'intaleq-rides'@'%'; + +CREATE USER IF NOT EXISTS 'siroTransitUser'@'%' IDENTIFIED BY 'eZiDYxCJ2yyGfC32zG0Z'; +GRANT ALL PRIVILEGES ON `siroTransitDb`.* TO 'siroTransitUser'@'%'; + +FLUSH PRIVILEGES;