-- Orders table for Spot trading CREATE TABLE IF NOT EXISTS spot_orders ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, symbol VARCHAR(20) NOT NULL, side ENUM('buy', 'sell') NOT NULL, type ENUM('limit', 'market') DEFAULT 'limit', price DECIMAL(30, 10), amount DECIMAL(30, 10) NOT NULL, filled_amount DECIMAL(30, 10) DEFAULT 0, status ENUM('open', 'filled', 'cancelled', 'partially_filled') DEFAULT 'open', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(id) ); -- Positions table for Perpetual Contracts CREATE TABLE IF NOT EXISTS contract_positions ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, symbol VARCHAR(20) NOT NULL, side ENUM('long', 'short') NOT NULL, leverage INT DEFAULT 1, entry_price DECIMAL(30, 10) NOT NULL, size DECIMAL(30, 10) NOT NULL, margin DECIMAL(30, 10) NOT NULL, liquidation_price DECIMAL(30, 10), unrealized_pnl DECIMAL(30, 10) DEFAULT 0, status ENUM('active', 'closed', 'liquidated') DEFAULT 'active', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, closed_at TIMESTAMP NULL, FOREIGN KEY (user_id) REFERENCES users(id) ); -- Carousel for Landing Page CREATE TABLE IF NOT EXISTS carousel ( id INT AUTO_INCREMENT PRIMARY KEY, image_url VARCHAR(255) NOT NULL, title VARCHAR(100), description TEXT, link_url VARCHAR(255), sort_order INT DEFAULT 0, is_active TINYINT(1) DEFAULT 1 ); -- Languages Table CREATE TABLE IF NOT EXISTS languages ( id INT AUTO_INCREMENT PRIMARY KEY, code VARCHAR(10) UNIQUE NOT NULL, -- e.g., 'en', 'zh', 'ja', 'ko', 'ru', 'fr', 'es', 'de' name VARCHAR(50) NOT NULL, is_default TINYINT(1) DEFAULT 0 ); -- Translations Table CREATE TABLE IF NOT EXISTS translations ( id INT AUTO_INCREMENT PRIMARY KEY, lang_code VARCHAR(10) NOT NULL, trans_key VARCHAR(255) NOT NULL, trans_value TEXT NOT NULL, UNIQUE KEY (lang_code, trans_key) ); -- Update system config for BITCrypto UPDATE system_config SET config_value = 'BITCrypto' WHERE config_key = 'site_name'; -- Insert Languages INSERT IGNORE INTO languages (code, name, is_default) VALUES ('en', 'English', 1), ('zh', '简体中文', 0), ('ja', '日本語', 0), ('ko', '한국어', 0), ('ru', 'Русский', 0), ('fr', 'Français', 0), ('es', 'Español', 0), ('de', 'Deutsch', 0); -- Insert Carousel Data (Using placeholder images for now) INSERT IGNORE INTO carousel (image_url, title, description, sort_order) VALUES ('https://images.pexels.com/photos/844124/pexels-photo-844124.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1', 'Global Leading Exchange', 'Trade BTC, ETH and 500+ assets with BITCrypto.', 1), ('https://images.pexels.com/photos/6770610/pexels-photo-6770610.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1', 'Perpetual Contracts', 'Up to 125x leverage on major pairs.', 2), ('https://images.pexels.com/photos/6771574/pexels-photo-6771574.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1', 'Secure & Reliable', 'Bank-level security for your digital assets.', 3), ('https://images.pexels.com/photos/5980860/pexels-photo-5980860.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1', '24/7 Support', 'Our team is here to help you anytime.', 4), ('https://images.pexels.com/photos/7567443/pexels-photo-7567443.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1', 'Low Trading Fees', 'Enjoy the most competitive fees in the industry.', 5); -- Add more coins INSERT IGNORE INTO cryptocurrencies (symbol, name, icon_url, current_price, change_24h) VALUES ('BNB', 'BNB', 'https://cryptologos.cc/logos/bnb-bnb-logo.png', 312.45, 1.2), ('XRP', 'XRP', 'https://cryptologos.cc/logos/xrp-xrp-logo.png', 0.52, -0.5), ('ADA', 'Cardano', 'https://cryptologos.cc/logos/cardano-ada-logo.png', 0.48, 2.3), ('AVAX', 'Avalanche', 'https://cryptologos.cc/logos/avalanche-avax-logo.png', 35.60, 4.1), ('DOT', 'Polkadot', 'https://cryptologos.cc/logos/polkadot-new-dot-logo.png', 7.20, -1.8), ('MATIC', 'Polygon', 'https://cryptologos.cc/logos/polygon-matic-logo.png', 0.85, 0.9), ('LINK', 'Chainlink', 'https://cryptologos.cc/logos/chainlink-link-logo.png', 18.30, 3.5), ('DOGE', 'Dogecoin', 'https://cryptologos.cc/logos/dogecoin-doge-logo.png', 0.08, -2.1);