部署
This commit is contained in:
parent
55c32caea5
commit
c928012df5
238
database_full.sql
Normal file
238
database_full.sql
Normal file
@ -0,0 +1,238 @@
|
||||
-- --------------------------------------------------------
|
||||
-- 完整数据库备份与安装脚本 (V2 - 包含所有业务表)
|
||||
-- 适用环境:宝塔面板 / PHP + MySQL
|
||||
-- --------------------------------------------------------
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for admins
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `admins`;
|
||||
CREATE TABLE `admins` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`username` varchar(50) NOT NULL,
|
||||
`password_hash` varchar(255) NOT NULL,
|
||||
`role` varchar(20) DEFAULT 'admin',
|
||||
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
||||
`is_agent` tinyint(4) DEFAULT 0,
|
||||
`permissions` text DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `username` (`username`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
INSERT INTO `admins` VALUES (1, 'admin', '$2y$10$uJvcqHNb.naRWj.apBapi.C.fF2zaIbMhYEtVdGmmVUWZkQi9ESfe', 'admin', '2026-02-18 03:07:35', 0, NULL);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for users
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `users`;
|
||||
CREATE TABLE `users` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`username` varchar(50) DEFAULT NULL,
|
||||
`email` varchar(100) DEFAULT NULL,
|
||||
`password_hash` varchar(255) NOT NULL,
|
||||
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
||||
`uid` varchar(20) DEFAULT NULL,
|
||||
`credit_score` int(11) DEFAULT 80,
|
||||
`real_name_status` int(11) DEFAULT 0,
|
||||
`role` varchar(20) DEFAULT 'user',
|
||||
`vip_level` int(11) DEFAULT 0,
|
||||
`total_recharge` decimal(16,4) DEFAULT 0.0000,
|
||||
`transaction_password` varchar(255) DEFAULT NULL,
|
||||
`kyc_name` varchar(100) DEFAULT NULL,
|
||||
`kyc_id_number` varchar(50) DEFAULT NULL,
|
||||
`kyc_photo_front` varchar(255) DEFAULT NULL,
|
||||
`kyc_photo_back` varchar(255) DEFAULT NULL,
|
||||
`kyc_photo_handheld?` varchar(255) DEFAULT NULL,
|
||||
`kyc_photo_handheld` varchar(255) DEFAULT NULL,
|
||||
`kyc_status` int(11) DEFAULT 0 COMMENT '0: Unverified, 1: Pending, 2: Verified, 3: Rejected',
|
||||
`registration_ip` varchar(45) DEFAULT NULL,
|
||||
`status` enum('normal','frozen') DEFAULT 'normal',
|
||||
`win_loss_control` tinyint(4) DEFAULT 0 COMMENT '0: normal, 1: win, 2: loss',
|
||||
`remark` text DEFAULT NULL,
|
||||
`kyc_rejection_reason` text DEFAULT NULL,
|
||||
`agent_id` int(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `username` (`username`),
|
||||
UNIQUE KEY `email` (`email`),
|
||||
UNIQUE KEY `uid` (`uid`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for user_balances
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `user_balances`;
|
||||
CREATE TABLE `user_balances` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`symbol` varchar(10) NOT NULL,
|
||||
`available` decimal(20,8) DEFAULT 0.00000000,
|
||||
`frozen` decimal(20,8) DEFAULT 0.00000000,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `user_id` (`user_id`,`symbol`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for system_settings
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `system_settings`;
|
||||
CREATE TABLE `system_settings` (
|
||||
`setting_key` varchar(50) NOT NULL,
|
||||
`setting_value` text DEFAULT NULL,
|
||||
PRIMARY KEY (`setting_key`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
INSERT INTO `system_settings` (setting_key, setting_value) VALUES
|
||||
('android_download_url', '/downloads/byro.apk'),
|
||||
('apk_download_url', '/downloads/byro.apk'),
|
||||
('email_verification_enabled', '0'),
|
||||
('ios_download_url', '/downloads/byro.apk'),
|
||||
('mail_from_email', ''),
|
||||
('mail_from_name', 'Byro Exchange'),
|
||||
('site_name', 'Byro'),
|
||||
('smtp_port', '587'),
|
||||
('smtp_secure', 'tls'),
|
||||
('usdt_protocol', 'TRC20'),
|
||||
('usdt_trc20_address', 'TYv9V5J1P1eEwz7y3WqJg9M2yv7f7xXv3x');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for staking_records
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `staking_records`;
|
||||
CREATE TABLE `staking_records` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`plan_name` varchar(100) NOT NULL,
|
||||
`amount` decimal(20,8) NOT NULL,
|
||||
`symbol` varchar(10) DEFAULT 'USDT',
|
||||
`daily_profit` decimal(5,2) NOT NULL,
|
||||
`period` int(11) NOT NULL COMMENT 'days',
|
||||
`status` enum('running','ended') DEFAULT 'running',
|
||||
`start_date` date NOT NULL,
|
||||
`end_date` date NOT NULL,
|
||||
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for transactions
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `transactions`;
|
||||
CREATE TABLE `transactions` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`type` varchar(20) NOT NULL,
|
||||
`amount` decimal(20,8) NOT NULL,
|
||||
`symbol` varchar(10) NOT NULL,
|
||||
`status` varchar(20) DEFAULT 'completed',
|
||||
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for binary_orders
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `binary_orders`;
|
||||
CREATE TABLE `binary_orders` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`symbol` varchar(20) NOT NULL,
|
||||
`direction` varchar(10) DEFAULT NULL,
|
||||
`amount` decimal(20,8) NOT NULL,
|
||||
`duration` int(11) NOT NULL,
|
||||
`profit_rate` decimal(5,2) NOT NULL,
|
||||
`entry_price` decimal(20,8) NOT NULL,
|
||||
`close_price` decimal(20,8) DEFAULT NULL,
|
||||
`status` enum('pending','won','lost','cancelled') DEFAULT 'pending',
|
||||
`control_status` tinyint(4) DEFAULT 0 COMMENT '0: normal, 1: force win, 2: force loss',
|
||||
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
||||
`end_at` timestamp NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for contract_orders
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `contract_orders`;
|
||||
CREATE TABLE `contract_orders` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`symbol` varchar(20) NOT NULL,
|
||||
`type` enum('limit','market') DEFAULT 'market',
|
||||
`direction` varchar(10) DEFAULT NULL,
|
||||
`leverage` int(11) DEFAULT 1,
|
||||
`amount` decimal(20,8) NOT NULL,
|
||||
`entry_price` decimal(20,8) DEFAULT NULL,
|
||||
`close_price` decimal(20,8) DEFAULT NULL,
|
||||
`status` enum('open','closed','cancelled') DEFAULT 'open',
|
||||
`profit` decimal(20,8) DEFAULT 0.00000000,
|
||||
`control_status` tinyint(4) DEFAULT 0 COMMENT '0: normal, 1: force win, 2: force loss',
|
||||
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for exchange_records
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `exchange_records`;
|
||||
CREATE TABLE `exchange_records` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`from_symbol` varchar(10) NOT NULL,
|
||||
`to_symbol` varchar(10) NOT NULL,
|
||||
`from_amount` decimal(20,8) NOT NULL,
|
||||
`to_amount` decimal(20,8) NOT NULL,
|
||||
`rate` decimal(20,8) NOT NULL,
|
||||
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for price_controls
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `price_controls`;
|
||||
CREATE TABLE `price_controls` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`symbol` varchar(20) NOT NULL,
|
||||
`target_price` decimal(20,8) NOT NULL,
|
||||
`execution_time` timestamp NOT NULL,
|
||||
`duration` int(11) DEFAULT 60 COMMENT 'seconds',
|
||||
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for spot_orders
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `spot_orders`;
|
||||
CREATE TABLE `spot_orders` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`symbol` varchar(20) NOT NULL,
|
||||
`side` enum('buy','sell') NOT NULL,
|
||||
`price` decimal(20,8) DEFAULT NULL,
|
||||
`amount` decimal(20,8) NOT NULL,
|
||||
`filled` decimal(20,8) DEFAULT 0.00000000,
|
||||
`status` enum('pending','filled','cancelled') DEFAULT 'pending',
|
||||
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for messages
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `messages`;
|
||||
CREATE TABLE `messages` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`user_id` int(11) DEFAULT NULL,
|
||||
`admin_id` int(11) DEFAULT NULL,
|
||||
`sender` enum('user','admin') DEFAULT NULL,
|
||||
`message` text DEFAULT NULL,
|
||||
`ip_address` varchar(45) DEFAULT NULL,
|
||||
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
Loading…
x
Reference in New Issue
Block a user