38751-vm/full_schema.sql
Flatlogic Bot 4f61082b27 Aslam vbru
2026-02-24 22:45:41 +00:00

90 lines
3.3 KiB
SQL

-- Full Schema for APK Portal
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
-- --------------------------------------------------------
-- Table structure for table `users`
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varchar(255) NOT NULL,
`referral_code` varchar(20) DEFAULT NULL,
`referred_by` int(11) DEFAULT NULL,
`role` varchar(20) DEFAULT 'user',
`points` int(11) DEFAULT 0,
`total_referrals` int(11) DEFAULT 0,
`balance` decimal(15,2) DEFAULT 0.00,
`created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`),
UNIQUE KEY `referral_code` (`referral_code`),
KEY `referred_by` (`referred_by`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Table structure for table `categories`
CREATE TABLE IF NOT EXISTS `categories` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`slug` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `slug` (`slug`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Table structure for table `apks`
CREATE TABLE IF NOT EXISTS `apks` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`slug` varchar(255) NOT NULL,
`version` varchar(50) DEFAULT NULL,
`description` text DEFAULT NULL,
`image_url` varchar(255) DEFAULT NULL,
`icon_path` varchar(255) DEFAULT NULL,
`download_url` varchar(255) DEFAULT NULL,
`category_id` int(11) DEFAULT NULL,
`total_downloads` int(11) DEFAULT 0,
`is_vip` tinyint(1) DEFAULT 0,
`status` enum('published','draft') DEFAULT 'published',
`display_order` int(11) DEFAULT 0,
`created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `slug` (`slug`),
KEY `category_id` (`category_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Table structure for table `withdrawals`
CREATE TABLE IF NOT EXISTS `withdrawals` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`amount` decimal(15,2) NOT NULL,
`method` varchar(50) NOT NULL,
`account_details` text NOT NULL,
`status` enum('pending','approved','rejected') DEFAULT 'pending',
`created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
CONSTRAINT `withdrawals_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Table structure for table `referral_downloads`
CREATE TABLE IF NOT EXISTS `referral_downloads` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`referrer_id` int(11) NOT NULL,
`apk_id` int(11) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`amount` decimal(15,2) DEFAULT 500.00,
`created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `referrer_id` (`referrer_id`),
KEY `apk_id` (`apk_id`),
CONSTRAINT `referral_downloads_ibfk_1` FOREIGN KEY (`referrer_id`) REFERENCES `users` (`id`),
CONSTRAINT `referral_downloads_ibfk_2` FOREIGN KEY (`apk_id`) REFERENCES `apks` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Default Data
INSERT IGNORE INTO `users` (`username`, `password`, `role`) VALUES ('admin', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'admin'); -- password: admin123
INSERT IGNORE INTO `categories` (`name`, `slug`) VALUES ('Games', 'games'), ('Apps', 'apps'), ('Tools', 'tools');
COMMIT;