71 lines
3.1 KiB
SQL
71 lines
3.1 KiB
SQL
CREATE TABLE IF NOT EXISTS system_configs (
|
|
config_key VARCHAR(100) NOT NULL,
|
|
config_value TEXT NOT NULL,
|
|
value_type VARCHAR(20) NOT NULL DEFAULT 'string',
|
|
description VARCHAR(255) NOT NULL DEFAULT '',
|
|
updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
|
|
PRIMARY KEY (config_key)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
CREATE TABLE IF NOT EXISTS banners (
|
|
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
title VARCHAR(100) NOT NULL,
|
|
image_url VARCHAR(500) NOT NULL,
|
|
link_url VARCHAR(500) NOT NULL DEFAULT '',
|
|
position VARCHAR(30) NOT NULL DEFAULT 'home',
|
|
status TINYINT UNSIGNED NOT NULL DEFAULT 1,
|
|
sort_order INT NOT NULL DEFAULT 0,
|
|
starts_at DATETIME(3) NULL,
|
|
ends_at DATETIME(3) NULL,
|
|
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
PRIMARY KEY (id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
CREATE TABLE IF NOT EXISTS app_versions (
|
|
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
platform VARCHAR(20) NOT NULL,
|
|
version VARCHAR(30) NOT NULL,
|
|
build_number INT UNSIGNED NOT NULL,
|
|
force_update TINYINT(1) NOT NULL DEFAULT 0,
|
|
download_url VARCHAR(500) NOT NULL DEFAULT '',
|
|
release_notes VARCHAR(2000) NOT NULL DEFAULT '',
|
|
status TINYINT UNSIGNED NOT NULL DEFAULT 1,
|
|
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
PRIMARY KEY (id),
|
|
UNIQUE KEY uk_version_platform_build (platform, build_number)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
CREATE TABLE IF NOT EXISTS admin_audit_logs (
|
|
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
admin_user_id BIGINT UNSIGNED NOT NULL,
|
|
action VARCHAR(100) NOT NULL,
|
|
target_type VARCHAR(50) NOT NULL DEFAULT '',
|
|
target_id BIGINT UNSIGNED NULL,
|
|
request_data JSON NULL,
|
|
ip VARCHAR(45) NOT NULL DEFAULT '',
|
|
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
PRIMARY KEY (id),
|
|
KEY idx_audit_admin_created (admin_user_id, created_at)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
INSERT INTO system_configs (config_key, config_value, value_type, description) VALUES
|
|
('im.recall_seconds', '120', 'number', '消息撤回时间窗口'),
|
|
('nearby.max_distance_km', '50', 'number', '附近的人最大距离'),
|
|
('stranger.daily_limit', '10', 'number', '普通用户每日主动聊天人数')
|
|
ON DUPLICATE KEY UPDATE description = VALUES(description);
|
|
|
|
INSERT INTO membership_plans (code, name, level, duration_days, price_cent, original_price_cent, status, sort_order) VALUES
|
|
('VIP_1M', 'VIP 1个月', 1, 30, 2800, 4000, 1, 10),
|
|
('VIP_3M', 'VIP 3个月', 1, 90, 6800, 9000, 1, 20),
|
|
('SVIP_12M', 'SVIP 12个月', 2, 365, 22800, 36000, 1, 30)
|
|
ON DUPLICATE KEY UPDATE name = VALUES(name), price_cent = VALUES(price_cent), original_price_cent = VALUES(original_price_cent);
|
|
|
|
INSERT INTO tags (category, name, icon, status, sort_order) VALUES
|
|
('personality', '天秤座', '', 1, 10),
|
|
('hobby', '摄影爱好者', '', 1, 20),
|
|
('hobby', '旅行达人', '', 1, 30),
|
|
('hobby', '电影', '', 1, 40),
|
|
('hobby', '音乐', '', 1, 50)
|
|
ON DUPLICATE KEY UPDATE status = VALUES(status);
|
|
|