Update: 2026-06-29 23:09:43
This commit is contained in:
325
loction_server/locationDB.sql
Normal file
325
loction_server/locationDB.sql
Normal file
@@ -0,0 +1,325 @@
|
||||
-- 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`);
|
||||
|
||||
--
|
||||
-- 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`),
|
||||
ADD KEY `idx_driver_date` (`driver_id`,`work_date`);
|
||||
|
||||
--
|
||||
-- Indexes for table `driver_orders`
|
||||
--
|
||||
ALTER TABLE `driver_orders`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- Indexes for table `login_attempts`
|
||||
--
|
||||
ALTER TABLE `login_attempts`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- Indexes for table `login_attempts_drivers`
|
||||
--
|
||||
ALTER TABLE `login_attempts_drivers`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- 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 */;
|
||||
Reference in New Issue
Block a user