-- phpMyAdmin SQL Dump -- version 5.2.2 -- https://www.phpmyadmin.net/ -- -- Host: 127.0.0.1:3306 -- Generation Time: Jun 29, 2026 at 09:46 PM -- Server version: 8.0.36-28 -- PHP Version: 8.1.32 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `locationDB` -- -- -------------------------------------------------------- -- -- Table structure for table `car_locations` -- CREATE TABLE `car_locations` ( `driver_id` varchar(100) NOT NULL, `latitude` decimal(10,7) NOT NULL, `longitude` decimal(10,7) NOT NULL, `heading` decimal(10,2) NOT NULL, `speed` double(10,3) NOT NULL, `distance` decimal(10,2) NOT NULL, `status` varchar(6) NOT NULL DEFAULT 'off', `carType` varchar(100) NOT NULL DEFAULT 'Awfar', `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `location_point` point NOT NULL SRID 4326 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3; -- -- Triggers `car_locations` -- DELIMITER $$ CREATE TRIGGER `trg_before_insert_car_locations` BEFORE INSERT ON `car_locations` FOR EACH ROW BEGIN SET NEW.location_point = ST_PointFromText(CONCAT('POINT(', NEW.longitude, ' ', NEW.latitude, ')'), 4326); END $$ DELIMITER ; DELIMITER $$ CREATE TRIGGER `trg_before_update_car_locations` BEFORE UPDATE ON `car_locations` FOR EACH ROW BEGIN IF NEW.latitude <> OLD.latitude OR NEW.longitude <> OLD.longitude THEN SET NEW.location_point = ST_PointFromText(CONCAT('POINT(', NEW.longitude, ' ', NEW.latitude, ')'), 4326); END IF; END $$ DELIMITER ; -- -------------------------------------------------------- -- -- Table structure for table `car_tracks` -- CREATE TABLE `car_tracks` ( `id` int NOT NULL, `driver_id` varchar(100) NOT NULL, `latitude` decimal(10,7) NOT NULL, `longitude` decimal(10,7) NOT NULL, `heading` float DEFAULT NULL, `speed` float DEFAULT NULL, `distance` float DEFAULT NULL, `status` enum('on','off') DEFAULT 'off', `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -- -------------------------------------------------------- -- -- Table structure for table `driver_behavior` -- CREATE TABLE `driver_behavior` ( `id` int NOT NULL, `driver_id` varchar(255) NOT NULL, `trip_id` varchar(255) NOT NULL, `max_speed` double DEFAULT '0', `avg_speed` double DEFAULT '0', `hard_brakes` int DEFAULT '0', `total_distance` double DEFAULT '0', `behavior_score` double DEFAULT '0', `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -- -------------------------------------------------------- -- -- Table structure for table `driver_daily_summary` -- CREATE TABLE `driver_daily_summary` ( `id` int NOT NULL, `driver_id` varchar(33) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, `date` date NOT NULL, `total_seconds` int DEFAULT '0', `last_updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `driver_daily_work` -- CREATE TABLE `driver_daily_work` ( `driver_id` int NOT NULL, `work_date` date NOT NULL, `total_seconds` int NOT NULL DEFAULT '0', `last_point_at` datetime DEFAULT NULL, `last_status` enum('on','off') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'off', `updated_at` datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `driver_orders` -- CREATE TABLE `driver_orders` ( `id` int NOT NULL, `driver_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `order_id` varchar(99) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, `notes` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'nothing', `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `status` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'applied' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `login_attempts` -- CREATE TABLE `login_attempts` ( `id` int NOT NULL, `ip_address` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, `attempt_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `login_attempts_drivers` -- CREATE TABLE `login_attempts_drivers` ( `id` int NOT NULL, `ip_address` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `attempt_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `places` -- CREATE TABLE `places` ( `id` int NOT NULL, `latitude` double NOT NULL, `longitude` double NOT NULL, `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `name_ar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, `name_en` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, `category` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `server_locations` -- CREATE TABLE `server_locations` ( `id` int NOT NULL, `name` varchar(255) NOT NULL, `min_latitude` decimal(10,6) NOT NULL, `max_latitude` decimal(10,6) NOT NULL, `min_longitude` decimal(10,6) NOT NULL, `max_longitude` decimal(10,6) NOT NULL, `server_link` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -- -- Indexes for dumped tables -- -- -- Indexes for table `car_locations` -- ALTER TABLE `car_locations` ADD PRIMARY KEY (`driver_id`), ADD KEY `idx_loc_status_time` (`status`,`updated_at`,`latitude`,`longitude`), ADD SPATIAL KEY `idx_location_point` (`location_point`); -- -- Indexes for table `car_tracks` -- ALTER TABLE `car_tracks` ADD PRIMARY KEY (`id`), ADD KEY `idx_driver_time` (`driver_id`,`created_at`); -- -- Indexes for table `driver_behavior` -- ALTER TABLE `driver_behavior` ADD PRIMARY KEY (`id`), ADD KEY `idx_driver_id` (`driver_id`), ADD KEY `idx_trip_id` (`trip_id`); -- -- Indexes for table `driver_daily_summary` -- ALTER TABLE `driver_daily_summary` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `unique_driver_date` (`driver_id`,`date`); -- -- Indexes for table `driver_daily_work` -- ALTER TABLE `driver_daily_work` ADD PRIMARY KEY (`driver_id`,`work_date`); -- -- Indexes for table `driver_orders` -- ALTER TABLE `driver_orders` ADD PRIMARY KEY (`id`), ADD KEY `idx_driver_id` (`driver_id`), ADD KEY `idx_order_id` (`order_id`); -- -- Indexes for table `login_attempts` -- ALTER TABLE `login_attempts` ADD PRIMARY KEY (`id`), ADD KEY `idx_ip_time` (`ip_address`,`attempt_time`); -- -- Indexes for table `login_attempts_drivers` -- ALTER TABLE `login_attempts_drivers` ADD PRIMARY KEY (`id`), ADD KEY `idx_ip_time` (`ip_address`,`attempt_time`); -- -- Indexes for table `places` -- ALTER TABLE `places` ADD PRIMARY KEY (`id`); -- -- Indexes for table `server_locations` -- ALTER TABLE `server_locations` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `name` (`name`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `car_tracks` -- ALTER TABLE `car_tracks` MODIFY `id` int NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `driver_behavior` -- ALTER TABLE `driver_behavior` MODIFY `id` int NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `driver_daily_summary` -- ALTER TABLE `driver_daily_summary` MODIFY `id` int NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `driver_orders` -- ALTER TABLE `driver_orders` MODIFY `id` int NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `login_attempts` -- ALTER TABLE `login_attempts` MODIFY `id` int NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `login_attempts_drivers` -- ALTER TABLE `login_attempts_drivers` MODIFY `id` int NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `places` -- ALTER TABLE `places` MODIFY `id` int NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `server_locations` -- ALTER TABLE `server_locations` MODIFY `id` int NOT NULL AUTO_INCREMENT; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;