-- phpMyAdmin SQL Dump -- version 5.2.3-1.el9.remi -- https://www.phpmyadmin.net/ -- -- Host: localhost -- Generation Time: Dec 31, 2025 at 05:36 PM -- Server version: 10.5.29-MariaDB -- PHP Version: 8.2.28 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: `cbd420` -- -- -------------------------------------------------------- -- -- Table structure for table `buyers` -- CREATE TABLE `buyers` ( `id` int(11) NOT NULL, `username` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `referral_points` decimal(10,2) NOT NULL DEFAULT 0.00, `created_at` datetime NOT NULL DEFAULT current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `buyer_data` -- CREATE TABLE `buyer_data` ( `id` int(11) NOT NULL, `buyer_id` int(11) NOT NULL, `fullname` text NOT NULL, `address` text NOT NULL, `phone` varchar(15) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `deliveries` -- CREATE TABLE `deliveries` ( `id` int(11) NOT NULL, `sale_id` int(11) NOT NULL, `created_at` datetime NOT NULL DEFAULT current_timestamp(), `status` text NOT NULL DEFAULT 'Pending' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `drops` -- CREATE TABLE `drops` ( `id` int(11) NOT NULL, `item` text NOT NULL, `description` text DEFAULT NULL, `size` int(11) NOT NULL DEFAULT 100, `fill` int(11) NOT NULL DEFAULT 0, `unit` varchar(12) NOT NULL DEFAULT 'g', `image_url` varchar(255) DEFAULT NULL, `ppu` int(11) NOT NULL DEFAULT 1, `price_chf` decimal(10,4) DEFAULT NULL, `price_eur` decimal(10,4) DEFAULT NULL, `wholesale_price_chf` decimal(10,4) DEFAULT NULL, `wholesale_price_eur` decimal(10,4) DEFAULT NULL, `created_at` datetime NOT NULL DEFAULT current_timestamp(), `start_time` datetime DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `drop_images` -- CREATE TABLE `drop_images` ( `id` int(11) NOT NULL, `drop_id` int(11) NOT NULL, `image_url` varchar(255) NOT NULL, `display_order` int(11) NOT NULL DEFAULT 0, `created_at` datetime NOT NULL DEFAULT current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `notification_subscribers` -- CREATE TABLE `notification_subscribers` ( `address` varchar(100) NOT NULL, `type` text NOT NULL DEFAULT '\'email\'', `buyer_id` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `pending_orders` -- CREATE TABLE `pending_orders` ( `id` int(11) NOT NULL, `payment_id` varchar(255) NOT NULL, `order_id` varchar(255) NOT NULL, `drop_id` int(11) NOT NULL, `buyer_id` int(11) NOT NULL, `buyer_data_id` int(11) NOT NULL, `size` int(11) NOT NULL, `price_amount` decimal(10,2) NOT NULL, `price_currency` varchar(10) NOT NULL DEFAULT 'chf', `points_used` decimal(10,2) NOT NULL DEFAULT 0.00, `created_at` datetime NOT NULL DEFAULT current_timestamp(), `expires_at` datetime NOT NULL DEFAULT (current_timestamp() + interval 10 minute) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `point_redemptions` -- CREATE TABLE `point_redemptions` ( `id` int(11) NOT NULL, `buyer_id` int(11) NOT NULL, `points` decimal(10,2) NOT NULL, `crypto_currency` varchar(20) NOT NULL, `wallet_address` varchar(255) NOT NULL, `crypto_amount` decimal(20,8) DEFAULT NULL, `status` enum('pending','processing','completed','failed','cancelled') NOT NULL DEFAULT 'pending', `transaction_hash` varchar(255) DEFAULT NULL, `error_message` text DEFAULT NULL, `created_at` datetime NOT NULL DEFAULT current_timestamp(), `updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `referrals` -- CREATE TABLE `referrals` ( `id` int(11) NOT NULL, `referrer` int(11) NOT NULL, `referree` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `referral_point_transactions` -- CREATE TABLE `referral_point_transactions` ( `id` int(11) NOT NULL, `buyer_id` int(11) NOT NULL, `points` decimal(10,2) NOT NULL, `type` enum('earned','spent','redeemed') NOT NULL, `sale_id` int(11) DEFAULT NULL, `pending_order_id` int(11) DEFAULT NULL, `description` text DEFAULT NULL, `created_at` datetime NOT NULL DEFAULT current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `referral_settings` -- CREATE TABLE `referral_settings` ( `id` int(11) NOT NULL, `setting_key` varchar(100) NOT NULL, `setting_value` varchar(255) NOT NULL, `description` text DEFAULT NULL, `updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `sales` -- CREATE TABLE `sales` ( `id` int(11) NOT NULL, `drop_id` int(11) NOT NULL, `buyer_id` int(11) NOT NULL, `buyer_data_id` int(11) NOT NULL, `size` int(11) NOT NULL DEFAULT 1, `payment_id` text NOT NULL DEFAULT '', `price_amount` decimal(10,2) DEFAULT NULL, `price_currency` varchar(10) NOT NULL DEFAULT 'chf', `points_used` decimal(10,2) NOT NULL DEFAULT 0.00, `created_at` datetime NOT NULL DEFAULT current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -- Indexes for dumped tables -- -- -- Indexes for table `buyers` -- ALTER TABLE `buyers` ADD PRIMARY KEY (`id`); -- -- Indexes for table `buyer_data` -- ALTER TABLE `buyer_data` ADD PRIMARY KEY (`id`), ADD KEY `buyer_id` (`buyer_id`); -- -- Indexes for table `deliveries` -- ALTER TABLE `deliveries` ADD PRIMARY KEY (`id`), ADD KEY `sale_id` (`sale_id`); -- -- Indexes for table `drops` -- ALTER TABLE `drops` ADD PRIMARY KEY (`id`); -- -- Indexes for table `drop_images` -- ALTER TABLE `drop_images` ADD PRIMARY KEY (`id`), ADD KEY `drop_id` (`drop_id`), ADD KEY `idx_drop_images_drop_order` (`drop_id`,`display_order`); -- -- Indexes for table `notification_subscribers` -- ALTER TABLE `notification_subscribers` ADD PRIMARY KEY (`address`), ADD KEY `buyer_id` (`buyer_id`); -- -- Indexes for table `pending_orders` -- ALTER TABLE `pending_orders` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `payment_id` (`payment_id`), ADD UNIQUE KEY `order_id` (`order_id`), ADD KEY `drop_id` (`drop_id`), ADD KEY `buyer_id` (`buyer_id`), ADD KEY `idx_expires_at` (`expires_at`), ADD KEY `buyer_data_id` (`buyer_data_id`); -- -- Indexes for table `point_redemptions` -- ALTER TABLE `point_redemptions` ADD PRIMARY KEY (`id`), ADD KEY `buyer_id` (`buyer_id`), ADD KEY `status` (`status`); -- -- Indexes for table `referrals` -- ALTER TABLE `referrals` ADD PRIMARY KEY (`id`), ADD KEY `referree` (`referree`), ADD KEY `referrer` (`referrer`); -- -- Indexes for table `referral_point_transactions` -- ALTER TABLE `referral_point_transactions` ADD PRIMARY KEY (`id`), ADD KEY `buyer_id` (`buyer_id`), ADD KEY `sale_id` (`sale_id`), ADD KEY `pending_order_id` (`pending_order_id`); -- -- Indexes for table `referral_settings` -- ALTER TABLE `referral_settings` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `setting_key` (`setting_key`); -- -- Indexes for table `sales` -- ALTER TABLE `sales` ADD PRIMARY KEY (`id`), ADD KEY `drop_id` (`drop_id`), ADD KEY `buyer_id` (`buyer_id`), ADD KEY `buyer_data_id` (`buyer_data_id`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `buyers` -- ALTER TABLE `buyers` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `buyer_data` -- ALTER TABLE `buyer_data` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `deliveries` -- ALTER TABLE `deliveries` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `drops` -- ALTER TABLE `drops` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `drop_images` -- ALTER TABLE `drop_images` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `pending_orders` -- ALTER TABLE `pending_orders` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `point_redemptions` -- ALTER TABLE `point_redemptions` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `referrals` -- ALTER TABLE `referrals` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `referral_point_transactions` -- ALTER TABLE `referral_point_transactions` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `referral_settings` -- ALTER TABLE `referral_settings` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `sales` -- ALTER TABLE `sales` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- Constraints for dumped tables -- -- -- Constraints for table `buyer_data` -- ALTER TABLE `buyer_data` ADD CONSTRAINT `buyer_data_ibfk_1` FOREIGN KEY (`buyer_id`) REFERENCES `buyers` (`id`); -- -- Constraints for table `deliveries` -- ALTER TABLE `deliveries` ADD CONSTRAINT `deliveries_ibfk_1` FOREIGN KEY (`sale_id`) REFERENCES `sales` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `drop_images` -- ALTER TABLE `drop_images` ADD CONSTRAINT `drop_images_ibfk_1` FOREIGN KEY (`drop_id`) REFERENCES `drops` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `notification_subscribers` -- ALTER TABLE `notification_subscribers` ADD CONSTRAINT `notification_subscribers_ibfk_1` FOREIGN KEY (`buyer_id`) REFERENCES `buyers` (`id`); -- -- Constraints for table `pending_orders` -- ALTER TABLE `pending_orders` ADD CONSTRAINT `pending_orders_ibfk_1` FOREIGN KEY (`drop_id`) REFERENCES `drops` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `pending_orders_ibfk_2` FOREIGN KEY (`buyer_id`) REFERENCES `buyers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `pending_orders_ibfk_3` FOREIGN KEY (`buyer_data_id`) REFERENCES `buyer_data` (`id`); -- -- Constraints for table `point_redemptions` -- ALTER TABLE `point_redemptions` ADD CONSTRAINT `point_redemptions_ibfk_1` FOREIGN KEY (`buyer_id`) REFERENCES `buyers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `referrals` -- ALTER TABLE `referrals` ADD CONSTRAINT `referrals_ibfk_1` FOREIGN KEY (`referree`) REFERENCES `buyers` (`id`), ADD CONSTRAINT `referrals_ibfk_2` FOREIGN KEY (`referrer`) REFERENCES `buyers` (`id`); -- -- Constraints for table `referral_point_transactions` -- ALTER TABLE `referral_point_transactions` ADD CONSTRAINT `referral_point_transactions_ibfk_1` FOREIGN KEY (`buyer_id`) REFERENCES `buyers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `referral_point_transactions_ibfk_2` FOREIGN KEY (`sale_id`) REFERENCES `sales` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, ADD CONSTRAINT `referral_point_transactions_ibfk_3` FOREIGN KEY (`pending_order_id`) REFERENCES `pending_orders` (`id`) ON DELETE SET NULL ON UPDATE CASCADE; -- -- Constraints for table `sales` -- ALTER TABLE `sales` ADD CONSTRAINT `sales_ibfk_1` FOREIGN KEY (`drop_id`) REFERENCES `drops` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `sales_ibfk_2` FOREIGN KEY (`buyer_id`) REFERENCES `buyers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `sales_ibfk_3` FOREIGN KEY (`buyer_data_id`) REFERENCES `buyer_data` (`id`); 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 */;