1044 lines
40 KiB
SQL
1044 lines
40 KiB
SQL
/*M!999999\- enable the sandbox mode */
|
|
-- MariaDB dump 10.19 Distrib 10.11.14-MariaDB, for debian-linux-gnu (x86_64)
|
|
--
|
|
-- Host: 127.0.0.1 Database: app_38471
|
|
-- ------------------------------------------------------
|
|
-- Server version 10.11.14-MariaDB-0+deb12u2
|
|
|
|
/*!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 */;
|
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
|
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
|
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
|
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
|
|
|
--
|
|
-- Table structure for table `acc_accounts`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `acc_accounts`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `acc_accounts` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`code` varchar(20) NOT NULL,
|
|
`name_en` varchar(100) NOT NULL,
|
|
`name_ar` varchar(100) NOT NULL,
|
|
`type` enum('asset','liability','equity','revenue','expense') NOT NULL,
|
|
`parent_id` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `code` (`code`),
|
|
KEY `parent_id` (`parent_id`),
|
|
CONSTRAINT `acc_accounts_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `acc_accounts` (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `acc_journal_entries`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `acc_journal_entries`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `acc_journal_entries` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`entry_date` date NOT NULL,
|
|
`description` text DEFAULT NULL,
|
|
`reference` varchar(100) DEFAULT NULL,
|
|
`source_type` varchar(50) DEFAULT NULL,
|
|
`source_id` int(11) DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=136 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `acc_ledger`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `acc_ledger`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `acc_ledger` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`journal_entry_id` int(11) NOT NULL,
|
|
`account_id` int(11) NOT NULL,
|
|
`debit` decimal(15,3) DEFAULT 0.000,
|
|
`credit` decimal(15,3) DEFAULT 0.000,
|
|
PRIMARY KEY (`id`),
|
|
KEY `journal_entry_id` (`journal_entry_id`),
|
|
KEY `account_id` (`account_id`),
|
|
CONSTRAINT `acc_ledger_ibfk_1` FOREIGN KEY (`journal_entry_id`) REFERENCES `acc_journal_entries` (`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `acc_ledger_ibfk_2` FOREIGN KEY (`account_id`) REFERENCES `acc_accounts` (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=409 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `activations`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `activations`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `activations` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`license_id` int(11) NOT NULL,
|
|
`fingerprint` varchar(255) NOT NULL,
|
|
`domain` varchar(255) DEFAULT NULL,
|
|
`product` varchar(255) DEFAULT NULL,
|
|
`activated_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `license_id` (`license_id`,`fingerprint`),
|
|
CONSTRAINT `activations_ibfk_1` FOREIGN KEY (`license_id`) REFERENCES `licenses` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `cash_registers`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `cash_registers`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `cash_registers` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(100) NOT NULL,
|
|
`status` enum('active','inactive') DEFAULT 'active',
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `customers`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `customers`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `customers` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(255) NOT NULL,
|
|
`email` varchar(255) DEFAULT NULL,
|
|
`phone` varchar(50) DEFAULT NULL,
|
|
`tax_id` varchar(50) DEFAULT NULL,
|
|
`balance` decimal(15,3) DEFAULT 0.000,
|
|
`credit_limit` decimal(15,3) DEFAULT 0.000,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
`loyalty_points` decimal(15,3) DEFAULT 0.000,
|
|
`loyalty_tier` enum('bronze','silver','gold') DEFAULT 'bronze',
|
|
`total_spent` decimal(15,3) DEFAULT 0.000,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `discount_codes`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `discount_codes`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `discount_codes` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`code` varchar(50) NOT NULL,
|
|
`type` enum('percentage','fixed') NOT NULL DEFAULT 'percentage',
|
|
`value` decimal(15,3) NOT NULL,
|
|
`min_purchase` decimal(15,3) DEFAULT 0.000,
|
|
`expiry_date` date DEFAULT NULL,
|
|
`status` enum('active','inactive') DEFAULT 'active',
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `code` (`code`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `expense_categories`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `expense_categories`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `expense_categories` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`name_en` varchar(255) NOT NULL,
|
|
`name_ar` varchar(255) NOT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `expenses`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `expenses`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `expenses` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`category_id` int(11) NOT NULL,
|
|
`amount` decimal(10,3) NOT NULL,
|
|
`expense_date` date NOT NULL,
|
|
`description` text DEFAULT NULL,
|
|
`reference_no` varchar(50) DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `category_id` (`category_id`),
|
|
CONSTRAINT `expenses_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `expense_categories` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `hr_attendance`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `hr_attendance`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `hr_attendance` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`employee_id` int(11) NOT NULL,
|
|
`attendance_date` date NOT NULL,
|
|
`clock_in` time DEFAULT NULL,
|
|
`clock_out` time DEFAULT NULL,
|
|
`status` enum('present','absent','on_leave') DEFAULT 'present',
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `employee_id` (`employee_id`,`attendance_date`),
|
|
CONSTRAINT `hr_attendance_ibfk_1` FOREIGN KEY (`employee_id`) REFERENCES `hr_employees` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `hr_biometric_devices`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `hr_biometric_devices`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `hr_biometric_devices` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`device_name` varchar(100) NOT NULL,
|
|
`ip_address` varchar(50) NOT NULL,
|
|
`port` int(11) DEFAULT 4370,
|
|
`io_address` varchar(100) DEFAULT NULL,
|
|
`serial_number` varchar(100) DEFAULT NULL,
|
|
`status` enum('active','inactive') DEFAULT 'active',
|
|
`last_sync` timestamp NULL DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `hr_biometric_logs`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `hr_biometric_logs`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `hr_biometric_logs` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`biometric_id` varchar(50) NOT NULL,
|
|
`device_id` int(11) DEFAULT NULL,
|
|
`employee_id` int(11) DEFAULT NULL,
|
|
`timestamp` datetime NOT NULL,
|
|
`type` enum('check_in','check_out','unknown') DEFAULT 'unknown',
|
|
`processed` tinyint(1) DEFAULT 0,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `employee_id` (`employee_id`),
|
|
KEY `device_id` (`device_id`),
|
|
CONSTRAINT `hr_biometric_logs_ibfk_1` FOREIGN KEY (`employee_id`) REFERENCES `hr_employees` (`id`) ON DELETE SET NULL,
|
|
CONSTRAINT `hr_biometric_logs_ibfk_2` FOREIGN KEY (`device_id`) REFERENCES `hr_biometric_devices` (`id`) ON DELETE SET NULL
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `hr_departments`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `hr_departments`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `hr_departments` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(255) NOT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `hr_employees`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `hr_employees`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `hr_employees` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`department_id` int(11) DEFAULT NULL,
|
|
`biometric_id` varchar(50) DEFAULT NULL,
|
|
`name` varchar(255) NOT NULL,
|
|
`email` varchar(255) DEFAULT NULL,
|
|
`phone` varchar(20) DEFAULT NULL,
|
|
`position` varchar(100) DEFAULT NULL,
|
|
`salary` decimal(15,3) DEFAULT 0.000,
|
|
`joining_date` date DEFAULT NULL,
|
|
`status` enum('active','inactive') DEFAULT 'active',
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `biometric_id` (`biometric_id`),
|
|
KEY `department_id` (`department_id`),
|
|
CONSTRAINT `hr_employees_ibfk_1` FOREIGN KEY (`department_id`) REFERENCES `hr_departments` (`id`) ON DELETE SET NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `hr_payroll`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `hr_payroll`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `hr_payroll` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`employee_id` int(11) NOT NULL,
|
|
`payroll_month` int(11) NOT NULL,
|
|
`payroll_year` int(11) NOT NULL,
|
|
`basic_salary` decimal(15,3) DEFAULT 0.000,
|
|
`bonus` decimal(15,3) DEFAULT 0.000,
|
|
`deductions` decimal(15,3) DEFAULT 0.000,
|
|
`net_salary` decimal(15,3) DEFAULT 0.000,
|
|
`payment_date` date DEFAULT NULL,
|
|
`status` enum('pending','paid') DEFAULT 'pending',
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `employee_month_year` (`employee_id`,`payroll_month`,`payroll_year`),
|
|
CONSTRAINT `hr_payroll_ibfk_1` FOREIGN KEY (`employee_id`) REFERENCES `hr_employees` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `invoice_items`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `invoice_items`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `invoice_items` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`invoice_id` int(11) NOT NULL,
|
|
`item_id` int(11) NOT NULL,
|
|
`quantity` decimal(15,2) NOT NULL,
|
|
`unit_price` decimal(15,3) DEFAULT 0.000,
|
|
`total_price` decimal(15,3) DEFAULT 0.000,
|
|
PRIMARY KEY (`id`),
|
|
KEY `invoice_id` (`invoice_id`),
|
|
KEY `item_id` (`item_id`),
|
|
CONSTRAINT `invoice_items_ibfk_1` FOREIGN KEY (`invoice_id`) REFERENCES `invoices` (`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `invoice_items_ibfk_2` FOREIGN KEY (`item_id`) REFERENCES `stock_items` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `invoices`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `invoices`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `invoices` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(11) DEFAULT NULL,
|
|
`invoice_date` date NOT NULL,
|
|
`type` enum('sale','purchase') NOT NULL,
|
|
`payment_type` varchar(100) DEFAULT NULL,
|
|
`total_amount` decimal(15,3) DEFAULT 0.000,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
`vat_amount` decimal(15,3) DEFAULT 0.000,
|
|
`total_with_vat` decimal(15,3) DEFAULT 0.000,
|
|
`terms_conditions` text DEFAULT NULL,
|
|
`paid_amount` decimal(15,3) DEFAULT 0.000,
|
|
`status` enum('paid','unpaid','partially_paid') DEFAULT 'unpaid',
|
|
PRIMARY KEY (`id`),
|
|
KEY `customer_id` (`customer_id`),
|
|
CONSTRAINT `invoices_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE SET NULL
|
|
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `licenses`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `licenses`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `licenses` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`license_key` varchar(255) NOT NULL,
|
|
`max_activations` int(11) DEFAULT 1,
|
|
`max_counters` int(11) DEFAULT 1,
|
|
`status` enum('active','suspended','expired') DEFAULT 'active',
|
|
`owner` varchar(255) DEFAULT NULL,
|
|
`address` text DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `license_key` (`license_key`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `loyalty_transactions`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `loyalty_transactions`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `loyalty_transactions` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(11) NOT NULL,
|
|
`transaction_id` int(11) DEFAULT NULL,
|
|
`points_change` decimal(15,3) NOT NULL,
|
|
`transaction_type` enum('earned','redeemed','adjustment') NOT NULL,
|
|
`description` text DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `customer_id` (`customer_id`),
|
|
CONSTRAINT `loyalty_transactions_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `lpo_items`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `lpo_items`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `lpo_items` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`lpo_id` int(11) NOT NULL,
|
|
`item_id` int(11) NOT NULL,
|
|
`quantity` decimal(15,3) NOT NULL,
|
|
`unit_price` decimal(15,3) NOT NULL,
|
|
`vat_percentage` decimal(5,2) DEFAULT 0.00,
|
|
`vat_amount` decimal(15,3) DEFAULT 0.000,
|
|
`total_amount` decimal(15,3) DEFAULT 0.000,
|
|
PRIMARY KEY (`id`),
|
|
KEY `lpo_id` (`lpo_id`),
|
|
KEY `item_id` (`item_id`),
|
|
CONSTRAINT `lpo_items_ibfk_1` FOREIGN KEY (`lpo_id`) REFERENCES `lpos` (`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `lpo_items_ibfk_2` FOREIGN KEY (`item_id`) REFERENCES `stock_items` (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `lpos`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `lpos`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `lpos` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`supplier_id` int(11) NOT NULL,
|
|
`lpo_date` date NOT NULL,
|
|
`delivery_date` date DEFAULT NULL,
|
|
`status` enum('pending','converted','cancelled') DEFAULT 'pending',
|
|
`total_amount` decimal(15,3) DEFAULT 0.000,
|
|
`vat_amount` decimal(15,3) DEFAULT 0.000,
|
|
`total_with_vat` decimal(15,3) DEFAULT 0.000,
|
|
`terms_conditions` text DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `supplier_id` (`supplier_id`),
|
|
CONSTRAINT `lpos_ibfk_1` FOREIGN KEY (`supplier_id`) REFERENCES `customers` (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `migrations`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `migrations`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `migrations` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`migration` varchar(255) NOT NULL,
|
|
`executed_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `payment_methods`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `payment_methods`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `payment_methods` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`name_en` varchar(255) DEFAULT NULL,
|
|
`name_ar` varchar(255) DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `payments`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `payments`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `payments` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`invoice_id` int(11) NOT NULL,
|
|
`payment_date` date NOT NULL,
|
|
`amount` decimal(15,3) DEFAULT 0.000,
|
|
`payment_method` varchar(50) DEFAULT 'Cash',
|
|
`notes` text DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `invoice_id` (`invoice_id`),
|
|
CONSTRAINT `payments_ibfk_1` FOREIGN KEY (`invoice_id`) REFERENCES `invoices` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `pos_devices`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `pos_devices`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `pos_devices` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`device_name` varchar(100) NOT NULL,
|
|
`device_type` enum('scale','printer','display') DEFAULT 'scale',
|
|
`connection_type` enum('usb','network','serial') DEFAULT 'usb',
|
|
`ip_address` varchar(50) DEFAULT NULL,
|
|
`port` int(11) DEFAULT NULL,
|
|
`baud_rate` int(11) DEFAULT NULL,
|
|
`status` enum('active','inactive') DEFAULT 'active',
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `pos_held_carts`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `pos_held_carts`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `pos_held_carts` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`cart_name` varchar(100) NOT NULL,
|
|
`items_json` text NOT NULL,
|
|
`customer_id` int(11) DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `customer_id` (`customer_id`),
|
|
CONSTRAINT `pos_held_carts_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE SET NULL
|
|
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `pos_items`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `pos_items`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `pos_items` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`transaction_id` int(11) NOT NULL,
|
|
`product_id` int(11) NOT NULL,
|
|
`quantity` decimal(15,3) NOT NULL,
|
|
`unit_price` decimal(15,3) NOT NULL,
|
|
`subtotal` decimal(15,3) NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `transaction_id` (`transaction_id`),
|
|
CONSTRAINT `pos_items_ibfk_1` FOREIGN KEY (`transaction_id`) REFERENCES `pos_transactions` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `pos_payments`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `pos_payments`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `pos_payments` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`transaction_id` int(11) NOT NULL,
|
|
`payment_method` varchar(50) NOT NULL,
|
|
`amount` decimal(15,3) NOT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `transaction_id` (`transaction_id`),
|
|
CONSTRAINT `pos_payments_ibfk_1` FOREIGN KEY (`transaction_id`) REFERENCES `pos_transactions` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `pos_transactions`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `pos_transactions`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `pos_transactions` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`transaction_no` varchar(50) NOT NULL,
|
|
`customer_id` int(11) DEFAULT NULL,
|
|
`total_amount` decimal(15,3) NOT NULL,
|
|
`tax_amount` decimal(15,3) DEFAULT 0.000,
|
|
`discount_code_id` int(11) DEFAULT NULL,
|
|
`discount_amount` decimal(15,3) DEFAULT 0.000,
|
|
`loyalty_points_earned` decimal(15,3) DEFAULT 0.000,
|
|
`loyalty_points_redeemed` decimal(15,3) DEFAULT 0.000,
|
|
`net_amount` decimal(15,3) NOT NULL DEFAULT 0.000,
|
|
`payment_method` varchar(100) DEFAULT NULL,
|
|
`status` enum('completed','refunded','cancelled') DEFAULT 'completed',
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
`created_by` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `transaction_no` (`transaction_no`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `purchase_items`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `purchase_items`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `purchase_items` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`purchase_id` int(11) NOT NULL,
|
|
`item_id` int(11) NOT NULL,
|
|
`quantity` decimal(15,2) NOT NULL,
|
|
`unit_price` decimal(15,3) DEFAULT NULL,
|
|
`vat_amount` decimal(15,3) DEFAULT NULL,
|
|
`total_price` decimal(15,3) DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `purchase_payments`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `purchase_payments`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `purchase_payments` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`purchase_id` int(11) NOT NULL,
|
|
`payment_date` date NOT NULL,
|
|
`amount` decimal(15,3) DEFAULT NULL,
|
|
`payment_method` varchar(50) DEFAULT NULL,
|
|
`notes` text DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `purchase_return_items`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `purchase_return_items`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `purchase_return_items` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`return_id` int(11) NOT NULL,
|
|
`item_id` int(11) NOT NULL,
|
|
`quantity` decimal(15,2) NOT NULL,
|
|
`unit_price` decimal(15,3) NOT NULL,
|
|
`total_price` decimal(15,3) NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `return_id` (`return_id`),
|
|
KEY `item_id` (`item_id`),
|
|
CONSTRAINT `purchase_return_items_ibfk_1` FOREIGN KEY (`return_id`) REFERENCES `purchase_returns` (`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `purchase_return_items_ibfk_2` FOREIGN KEY (`item_id`) REFERENCES `stock_items` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `purchase_returns`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `purchase_returns`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `purchase_returns` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`invoice_id` int(11) NOT NULL,
|
|
`supplier_id` int(11) DEFAULT NULL,
|
|
`return_date` date NOT NULL,
|
|
`total_amount` decimal(15,3) NOT NULL DEFAULT 0.000,
|
|
`notes` text DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `invoice_id` (`invoice_id`),
|
|
KEY `supplier_id` (`supplier_id`),
|
|
CONSTRAINT `purchase_returns_ibfk_1` FOREIGN KEY (`invoice_id`) REFERENCES `invoices` (`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `purchase_returns_ibfk_2` FOREIGN KEY (`supplier_id`) REFERENCES `suppliers` (`id`) ON DELETE SET NULL
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `purchases`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `purchases`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `purchases` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`supplier_id` int(11) DEFAULT NULL,
|
|
`invoice_date` date NOT NULL,
|
|
`payment_type` varchar(100) DEFAULT NULL,
|
|
`total_amount` decimal(15,3) DEFAULT NULL,
|
|
`vat_amount` decimal(15,3) DEFAULT NULL,
|
|
`total_with_vat` decimal(15,3) DEFAULT NULL,
|
|
`terms_conditions` text DEFAULT NULL,
|
|
`paid_amount` decimal(15,3) DEFAULT NULL,
|
|
`status` enum('paid','unpaid','partially_paid') DEFAULT NULL,
|
|
`register_session_id` int(11) DEFAULT NULL,
|
|
`due_date` date DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `quotation_items`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `quotation_items`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `quotation_items` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`quotation_id` int(11) NOT NULL,
|
|
`item_id` int(11) NOT NULL,
|
|
`quantity` decimal(15,2) NOT NULL,
|
|
`unit_price` decimal(15,3) DEFAULT 0.000,
|
|
`total_price` decimal(15,3) DEFAULT 0.000,
|
|
PRIMARY KEY (`id`),
|
|
KEY `quotation_id` (`quotation_id`),
|
|
KEY `item_id` (`item_id`),
|
|
CONSTRAINT `quotation_items_ibfk_1` FOREIGN KEY (`quotation_id`) REFERENCES `quotations` (`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `quotation_items_ibfk_2` FOREIGN KEY (`item_id`) REFERENCES `stock_items` (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `quotations`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `quotations`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `quotations` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(11) DEFAULT NULL,
|
|
`quotation_date` date NOT NULL,
|
|
`valid_until` date DEFAULT NULL,
|
|
`status` enum('pending','converted','expired','cancelled') DEFAULT 'pending',
|
|
`total_amount` decimal(15,3) DEFAULT 0.000,
|
|
`vat_amount` decimal(15,3) DEFAULT 0.000,
|
|
`total_with_vat` decimal(15,3) DEFAULT 0.000,
|
|
`terms_conditions` text DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `customer_id` (`customer_id`),
|
|
CONSTRAINT `quotations_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE SET NULL
|
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `register_sessions`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `register_sessions`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `register_sessions` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`register_id` int(11) NOT NULL,
|
|
`user_id` int(11) NOT NULL,
|
|
`opening_balance` decimal(15,3) NOT NULL,
|
|
`closing_balance` decimal(15,3) DEFAULT NULL,
|
|
`cash_in_hand` decimal(15,3) DEFAULT NULL,
|
|
`opened_at` timestamp NULL DEFAULT current_timestamp(),
|
|
`closed_at` timestamp NULL DEFAULT NULL,
|
|
`status` enum('open','closed') DEFAULT 'open',
|
|
`notes` text DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `role_groups`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `role_groups`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `role_groups` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(255) NOT NULL,
|
|
`permissions` text DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `role_permissions`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `role_permissions`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `role_permissions` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`role_id` int(11) NOT NULL,
|
|
`permission` varchar(255) NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `role_id` (`role_id`,`permission`),
|
|
CONSTRAINT `role_permissions_ibfk_1` FOREIGN KEY (`role_id`) REFERENCES `role_groups` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=218 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `sales_return_items`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `sales_return_items`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `sales_return_items` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`return_id` int(11) NOT NULL,
|
|
`item_id` int(11) NOT NULL,
|
|
`quantity` decimal(15,2) NOT NULL,
|
|
`unit_price` decimal(15,3) NOT NULL,
|
|
`total_price` decimal(15,3) NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `return_id` (`return_id`),
|
|
KEY `item_id` (`item_id`),
|
|
CONSTRAINT `sales_return_items_ibfk_1` FOREIGN KEY (`return_id`) REFERENCES `sales_returns` (`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `sales_return_items_ibfk_2` FOREIGN KEY (`item_id`) REFERENCES `stock_items` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `sales_returns`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `sales_returns`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `sales_returns` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`invoice_id` int(11) NOT NULL,
|
|
`customer_id` int(11) DEFAULT NULL,
|
|
`return_date` date NOT NULL,
|
|
`total_amount` decimal(15,3) NOT NULL DEFAULT 0.000,
|
|
`notes` text DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `invoice_id` (`invoice_id`),
|
|
KEY `customer_id` (`customer_id`),
|
|
CONSTRAINT `sales_returns_ibfk_1` FOREIGN KEY (`invoice_id`) REFERENCES `invoices` (`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `sales_returns_ibfk_2` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE SET NULL
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `settings`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `settings`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `settings` (
|
|
`key` varchar(50) NOT NULL,
|
|
`value` text DEFAULT NULL,
|
|
`updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
|
PRIMARY KEY (`key`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `stock_categories`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `stock_categories`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `stock_categories` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`name_en` varchar(255) NOT NULL,
|
|
`name_ar` varchar(255) NOT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `stock_items`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `stock_items`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `stock_items` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`category_id` int(11) DEFAULT NULL,
|
|
`unit_id` int(11) DEFAULT NULL,
|
|
`supplier_id` int(11) DEFAULT NULL,
|
|
`name_en` varchar(255) NOT NULL,
|
|
`name_ar` varchar(255) NOT NULL,
|
|
`sku` varchar(100) DEFAULT NULL,
|
|
`purchase_price` decimal(15,3) DEFAULT 0.000,
|
|
`sale_price` decimal(15,3) DEFAULT 0.000,
|
|
`stock_quantity` decimal(15,2) DEFAULT 0.00,
|
|
`min_stock_level` decimal(15,2) DEFAULT 0.00,
|
|
`expiry_date` date DEFAULT NULL,
|
|
`image_path` varchar(255) DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
`vat_rate` decimal(5,2) DEFAULT 0.00,
|
|
`is_promotion` tinyint(1) DEFAULT 0,
|
|
`promotion_start` date DEFAULT NULL,
|
|
`promotion_end` date DEFAULT NULL,
|
|
`promotion_percent` decimal(5,2) DEFAULT 0.00,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `sku` (`sku`),
|
|
KEY `category_id` (`category_id`),
|
|
KEY `unit_id` (`unit_id`),
|
|
KEY `fk_stock_items_supplier` (`supplier_id`),
|
|
CONSTRAINT `fk_stock_items_supplier` FOREIGN KEY (`supplier_id`) REFERENCES `suppliers` (`id`) ON DELETE SET NULL,
|
|
CONSTRAINT `stock_items_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `stock_categories` (`id`) ON DELETE SET NULL,
|
|
CONSTRAINT `stock_items_ibfk_2` FOREIGN KEY (`unit_id`) REFERENCES `stock_units` (`id`) ON DELETE SET NULL
|
|
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `stock_units`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `stock_units`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `stock_units` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`name_en` varchar(255) NOT NULL,
|
|
`name_ar` varchar(255) NOT NULL,
|
|
`short_name_en` varchar(50) NOT NULL,
|
|
`short_name_ar` varchar(50) NOT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `suppliers`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `suppliers`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `suppliers` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(255) NOT NULL,
|
|
`email` varchar(255) DEFAULT NULL,
|
|
`phone` varchar(50) DEFAULT NULL,
|
|
`tax_id` varchar(50) DEFAULT NULL,
|
|
`balance` decimal(15,3) DEFAULT NULL,
|
|
`credit_limit` decimal(15,3) DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
`total_spent` decimal(15,3) DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `system_license`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `system_license`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `system_license` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`license_key` varchar(255) NOT NULL,
|
|
`activation_token` text DEFAULT NULL,
|
|
`fingerprint` varchar(255) DEFAULT NULL,
|
|
`status` enum('pending','active','expired','suspended','trial') DEFAULT 'pending',
|
|
`activated_at` datetime DEFAULT NULL,
|
|
`last_checked_at` datetime DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
`trial_started_at` datetime DEFAULT NULL,
|
|
`allowed_activations` int(11) DEFAULT 1,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `users`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `users`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8mb4 */;
|
|
CREATE TABLE `users` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`group_id` int(11) DEFAULT NULL,
|
|
`username` varchar(255) NOT NULL,
|
|
`password` varchar(255) NOT NULL,
|
|
`email` varchar(255) DEFAULT NULL,
|
|
`phone` varchar(20) DEFAULT NULL,
|
|
`profile_pic` varchar(255) DEFAULT NULL,
|
|
`theme` varchar(20) DEFAULT 'default',
|
|
`status` enum('active','inactive') DEFAULT 'active',
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `username` (`username`),
|
|
KEY `group_id` (`group_id`),
|
|
CONSTRAINT `users_ibfk_1` FOREIGN KEY (`group_id`) REFERENCES `role_groups` (`id`) ON DELETE SET NULL
|
|
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
|
|
|
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
|
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
|
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
|
/*!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 */;
|
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
|
|
|
-- Dump completed on 2026-02-21 10:01:19
|