# التحقق من قاعدة البيانات 🔍 ## نظرة عامة هذا الدليل يساعدك على التحقق من أن قاعدة البيانات الحالية متطابقة مع ملف `database.sql`. ## معلومات قاعدة البيانات - **اسم قاعدة البيانات**: `ecommerce` - **ملف SQL الرئيسي**: `backend/database.sql` - **ملف الإعدادات**: `backend/config/database.php` ## كيفية التحقق والتحديث ### الطريقة 1: من لوحة الإعدادات (موصى به) 1. اذهب إلى: `الإعدادات > قاعدة البيانات` 2. اضغط على **"التحقق من التطابق"** لمشاهدة الفروقات 3. إذا وجدت فروقات، اضغط على **"تحديث ملف database.sql"** 4. سيتم تحديث الملف تلقائياً من قاعدة البيانات الحالية ### الطريقة 2: استخدام السكريبتات مباشرة **للتحقق:** ``` http://localhost/backend/verify-database.php ``` **للتحديث:** ``` http://localhost/backend/update-database-sql.php ``` السكريبت سيعرض لك: - ✅ الجداول الموجودة - ❌ الجداول المفقودة - ⚠️ الجداول الإضافية - 📊 عدد السجلات في كل جدول - 🔧 بنية الجداول المهمة ### الطريقة 2: التحقق اليدوي افتح phpMyAdmin أو MySQL Workbench وتحقق من وجود الجداول التالية: ## الجداول الأساسية (Core Tables) ### 1. جداول المستخدمين - ✅ `users` - بيانات المستخدمين - ✅ `user_followers` - نظام المتابعة ### 2. جداول المنتجات والفئات - ✅ `categories` - فئات المنتجات والخدمات - ✅ `products` - المنتجات - ✅ `wishlist` - المفضلة - ✅ `reviews` - التقييمات ### 3. جداول الطلبات والسلة - ✅ `cart` - سلة التسوق - ✅ `orders` - الطلبات - ✅ `order_items` - تفاصيل الطلبات - ✅ `addresses` - عناوين التوصيل ### 4. جداول الخدمات والحجوزات - ✅ `beauty_services` - خدمات البيوتي سنتر - ✅ `beauty_bookings` - حجوزات الخدمات - ✅ `branches` - الفروع ### 5. جداول الدفع - ✅ `payment_methods` - طرق الدفع - ✅ `payment_accounts` - حسابات الدفع (فودافون كاش، إنستاباي) - ✅ `coupons` - كوبونات الخصم ### 6. جداول الشحن - ✅ `shipping_manifests` - بيانات الشحن - ✅ `manifest_items` - تفاصيل الشحنات ### 7. جداول المخزون - ✅ `inventory_items` - المخزون - ✅ `inventory_transactions` - حركات المخزون - ✅ `suppliers` - الموردين ### 8. جداول التصنيع - ✅ `raw_materials` - المواد الخام - ✅ `recipes` - الوصفات - ✅ `recipe_ingredients` - مكونات الوصفات - ✅ `production_batches` - دفعات الإنتاج - ✅ `packaging_materials` - مواد التعبئة - ✅ `wrapping_materials` - مواد التغليف ### 9. جداول السوشيال ميديا (TREE) - ✅ `posts` - المنشورات - ✅ `post_likes` - الإعجابات - ✅ `post_comments` - التعليقات ### 10. جداول أخرى - ✅ `settings` - إعدادات الموقع - ✅ `messages` - رسائل الدعم - ✅ `identity_profiles` - الهويات الشخصية - ✅ `business_licenses` - التراخيص التجارية - ✅ `fawry_applications` - طلبات فوري ## الأعمدة المهمة في الجداول الرئيسية ### جدول `users` ```sql - id (PRIMARY KEY) - name - phone (UNIQUE) - password - address - role (user/admin) - bio - is_verified - total_followers - total_following - total_likes - created_at - updated_at ``` ### جدول `products` ```sql - id (PRIMARY KEY) - name - description - price - image - category_id (FOREIGN KEY) - stock_quantity - is_limited_stock - is_free_shipping - is_medicinal - status (active/inactive) - created_at - updated_at ``` ### جدول `orders` ```sql - id (PRIMARY KEY) - user_id (FOREIGN KEY) - customer_name - customer_phone - customer_address - location_link - total_amount - status (pending/processing/shipped/delivered/cancelled) - shipping_address - notes - created_at - updated_at ``` ### جدول `wishlist` ```sql - id (PRIMARY KEY) - user_id (FOREIGN KEY) - product_id (FOREIGN KEY) - created_at ``` ## إصلاح المشاكل ### إذا كانت هناك جداول مفقودة 1. افتح ملف `backend/database.sql` 2. انسخ الكود الخاص بالجداول المفقودة 3. نفذه في phpMyAdmin أو MySQL Workbench أو: ```bash # استيراد كامل ملف database.sql mysql -u root -p ecommerce < backend/database.sql ``` ### إذا كانت قاعدة البيانات غير موجودة ```sql CREATE DATABASE IF NOT EXISTS ecommerce CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE ecommerce; SOURCE backend/database.sql; ``` ### إذا كانت هناك أخطاء في الاتصال تحقق من ملف `backend/config/database.php`: ```php $this->host = 'localhost'; $this->db_name = 'ecommerce'; $this->username = 'root'; $this->password = ''; $this->port = 3306; ``` ## نصائح مهمة 1. ✅ **احتفظ بنسخة احتياطية** قبل أي تعديل على قاعدة البيانات 2. ✅ **استخدم سكريبت التحقق** بشكل دوري للتأكد من سلامة البيانات 3. ✅ **لا تحذف جداول** إلا إذا كنت متأكداً أنها غير مستخدمة 4. ✅ **تحقق من العلاقات** (Foreign Keys) بين الجداول ## الأوامر المفيدة ### عرض جميع الجداول ```sql SHOW TABLES; ``` ### عرض بنية جدول معين ```sql DESCRIBE users; ``` ### عدد السجلات في جدول ```sql SELECT COUNT(*) FROM products; ``` ### التحقق من حجم قاعدة البيانات ```sql SELECT table_schema AS 'Database', ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 'Size (MB)' FROM information_schema.tables WHERE table_schema = 'ecommerce' GROUP BY table_schema; ``` ## الخلاصة - ✅ قاعدة البيانات: `ecommerce` - ✅ إجمالي الجداول المتوقعة: **~35 جدول** - ✅ ملف SQL المرجعي: `backend/database.sql` - ✅ سكريبت التحقق: `backend/verify-database.php` --- **آخر تحديث**: نوفمبر 2024 **الحالة**: ✅ موثق ومختبر