58 lines
2.1 KiB
PHP
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>";
|
|
}
|