331 lines
9.2 KiB
SQL
331 lines
9.2 KiB
SQL
-- 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 */;
|