Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Users table: stores user credentials and account information
- CREATE TABLE IF NOT EXISTS users (
- id INT AUTO_INCREMENT PRIMARY KEY,
- username VARCHAR(50) NOT NULL UNIQUE,
- email VARCHAR(100) NOT NULL UNIQUE,
- password VARCHAR(255) NOT NULL,
- balance DECIMAL(12,2) NOT NULL DEFAULT 0,
- referral_code VARCHAR(20),
- is_admin TINYINT(1) DEFAULT 0,
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
- updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
- ) ENGINE=InnoDB;
- -- Game Sessions table: logs each game played (case battles, slots, mines, coinflip, roulette, cases)
- CREATE TABLE IF NOT EXISTS game_sessions (
- id INT AUTO_INCREMENT PRIMARY KEY,
- user_id INT NOT NULL,
- game_type ENUM('case_battle', 'slot', 'mine', 'coinflip', 'roulette', 'case') NOT NULL,
- bet_amount DECIMAL(12,2) NOT NULL,
- win_amount DECIMAL(12,2) DEFAULT 0,
- outcome VARCHAR(50),
- game_data JSON, -- additional game-specific information
- client_seed VARCHAR(255),
- server_seed VARCHAR(255),
- nonce INT,
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
- FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
- ) ENGINE=InnoDB;
- -- Transactions table: records deposits, withdrawals, bonuses, and adjustments
- CREATE TABLE IF NOT EXISTS transactions (
- id INT AUTO_INCREMENT PRIMARY KEY,
- user_id INT NOT NULL,
- transaction_type ENUM('deposit', 'withdrawal', 'bonus', 'adjustment') NOT NULL,
- amount DECIMAL(12,2) NOT NULL,
- status ENUM('pending', 'completed', 'failed') NOT NULL DEFAULT 'pending',
- reference VARCHAR(100),
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
- updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
- ) ENGINE=InnoDB;
- -- Chat Messages table: for the interactive chat system
- CREATE TABLE IF NOT EXISTS chat_messages (
- id INT AUTO_INCREMENT PRIMARY KEY,
- user_id INT NOT NULL,
- message TEXT NOT NULL,
- room VARCHAR(50) DEFAULT 'global',
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
- FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
- ) ENGINE=InnoDB;
- -- Referrals table: links referrer and referred users and stores bonus information
- CREATE TABLE IF NOT EXISTS referrals (
- id INT AUTO_INCREMENT PRIMARY KEY,
- referrer_id INT NOT NULL,
- referred_id INT NOT NULL,
- bonus_awarded DECIMAL(12,2) DEFAULT 0,
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
- FOREIGN KEY (referrer_id) REFERENCES users(id) ON DELETE CASCADE,
- FOREIGN KEY (referred_id) REFERENCES users(id) ON DELETE CASCADE
- ) ENGINE=InnoDB;
- -- Promo Codes table: manages promo codes and usage limits
- CREATE TABLE IF NOT EXISTS promo_codes (
- id INT AUTO_INCREMENT PRIMARY KEY,
- code VARCHAR(50) NOT NULL UNIQUE,
- description TEXT,
- discount_percentage DECIMAL(5,2) DEFAULT 0,
- max_usage INT DEFAULT 1,
- usage_count INT DEFAULT 0,
- valid_from DATETIME,
- valid_to DATETIME,
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP
- ) ENGINE=InnoDB;
- -- Competitions table: defines competitions or leaderboards with start/end times and prizes
- CREATE TABLE IF NOT EXISTS competitions (
- id INT AUTO_INCREMENT PRIMARY KEY,
- competition_name VARCHAR(100) NOT NULL,
- start_time DATETIME NOT NULL,
- end_time DATETIME NOT NULL,
- winner_id INT,
- prize DECIMAL(12,2),
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
- FOREIGN KEY (winner_id) REFERENCES users(id) ON DELETE SET NULL
- ) ENGINE=InnoDB;
- -- Competition Entries table: records entries for competitions
- CREATE TABLE IF NOT EXISTS competition_entries (
- id INT AUTO_INCREMENT PRIMARY KEY,
- competition_id INT NOT NULL,
- user_id INT NOT NULL,
- score INT DEFAULT 0,
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
- FOREIGN KEY (competition_id) REFERENCES competitions(id) ON DELETE CASCADE,
- FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
- ) ENGINE=InnoDB;
- -- Payments table: logs transactions made via payment gateways
- CREATE TABLE IF NOT EXISTS payments (
- id INT AUTO_INCREMENT PRIMARY KEY,
- user_id INT NOT NULL,
- payment_method VARCHAR(50),
- payment_reference VARCHAR(100),
- amount DECIMAL(12,2) NOT NULL,
- status ENUM('pending', 'completed', 'failed') DEFAULT 'pending',
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
- updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
- ) ENGINE=InnoDB;
- -- Admin Actions table: logs administrative actions for audit purposes
- CREATE TABLE IF NOT EXISTS admin_actions (
- id INT AUTO_INCREMENT PRIMARY KEY,
- admin_user_id INT NOT NULL,
- action_type VARCHAR(50) NOT NULL,
- description TEXT,
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
- FOREIGN KEY (admin_user_id) REFERENCES users(id) ON DELETE CASCADE
- ) ENGINE=InnoDB;
Add Comment
Please, Sign In to add comment