38239-vm/update_db.php
Flatlogic Bot db6c439a10 bit
2026-02-07 06:44:55 +00:00

58 lines
2.1 KiB
PHP

<?php
/**
* 数据库结构同步工具
* 访问此文件可确保您的宝塔数据库结构与当前代码一致
*/
require_once 'config.php';
try {
$db = db();
// 1. 确保 site_settings 表存在并有数据
$db->exec("CREATE TABLE IF NOT EXISTS site_settings (
id INT AUTO_INCREMENT PRIMARY KEY,
site_name VARCHAR(100) DEFAULT 'BitCrypto',
contact_email VARCHAR(100) DEFAULT 'support@example.com',
deposit_address VARCHAR(255) DEFAULT 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t',
customer_service_url TEXT,
terms_content TEXT,
privacy_content TEXT,
is_pinning_active BOOLEAN DEFAULT FALSE
)");
$check = $db->query("SELECT count(*) FROM site_settings")->fetchColumn();
if ($check == 0) {
$db->exec("INSERT INTO site_settings (site_name) VALUES ('BitCrypto')");
}
// 2. 确保 accounts 表有 KYC 相关字段
$columns = $db->query("SHOW COLUMNS FROM accounts")->fetchAll(PDO::FETCH_COLUMN);
if (!in_array('kyc_status', $columns)) {
$db->exec("ALTER TABLE accounts ADD COLUMN kyc_status ENUM('UNVERIFIED', 'PENDING', 'VERIFIED', 'REJECTED') DEFAULT 'UNVERIFIED'");
}
if (!in_array('credit_score', $columns)) {
$db->exec("ALTER TABLE accounts ADD COLUMN credit_score INT DEFAULT 80");
}
// 3. 确保 cryptocurrencies 表存在
$db->exec("CREATE TABLE IF NOT EXISTS cryptocurrencies (
id INT AUTO_INCREMENT PRIMARY KEY,
symbol VARCHAR(20) UNIQUE NOT NULL,
name VARCHAR(100) NOT NULL,
icon_url TEXT,
current_price DECIMAL(30, 8) DEFAULT 0,
manual_price DECIMAL(30, 8) DEFAULT 0,
change_24h DECIMAL(10, 2) DEFAULT 0,
is_active BOOLEAN DEFAULT TRUE
)");
echo "<h3>数据库同步完成!</h3>";
echo "<p>您的数据库结构已成功更新为最新版本。</p>";
echo "<p style='color:red;'><b>请立即删除 update_db.php 文件。</b></p>";
echo "<a href='index.php'>返回首页</a>";
} catch (Exception $e) {
echo "<h3>同步失败:</h3>";
echo "<pre>" . $e->getMessage() . "</pre>";
}