137 lines
5.7 KiB
MySQL
137 lines
5.7 KiB
MySQL
|
|
-- ========================================
|
|||
|
|
-- 虚境起源网站管理后台数据库初始化脚本
|
|||
|
|
-- ========================================
|
|||
|
|
-- 创建日期: 2026-02-02
|
|||
|
|
-- 说明: 包含所有必需的数据库、表和初始数据
|
|||
|
|
-- ========================================
|
|||
|
|
|
|||
|
|
-- 创建数据库
|
|||
|
|
CREATE DATABASE IF NOT EXISTS website_admin CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|||
|
|
|
|||
|
|
USE website_admin;
|
|||
|
|
|
|||
|
|
-- ========================================
|
|||
|
|
-- 1. 管理员用户表
|
|||
|
|
-- ========================================
|
|||
|
|
CREATE TABLE IF NOT EXISTS admin_users (
|
|||
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|||
|
|
username VARCHAR(50) UNIQUE NOT NULL,
|
|||
|
|
password VARCHAR(255) NOT NULL,
|
|||
|
|
email VARCHAR(100),
|
|||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|||
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|||
|
|
last_login TIMESTAMP NULL,
|
|||
|
|
INDEX idx_username (username)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|||
|
|
|
|||
|
|
-- ========================================
|
|||
|
|
-- 2. 合作伙伴表
|
|||
|
|
-- ========================================
|
|||
|
|
CREATE TABLE IF NOT EXISTS partners (
|
|||
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|||
|
|
name VARCHAR(100) NOT NULL,
|
|||
|
|
logo VARCHAR(255) NOT NULL,
|
|||
|
|
url VARCHAR(255),
|
|||
|
|
sort_order INT DEFAULT 0,
|
|||
|
|
status TINYINT DEFAULT 1 COMMENT '1=active, 0=inactive',
|
|||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|||
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|||
|
|
INDEX idx_status (status),
|
|||
|
|
INDEX idx_sort_order (sort_order)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|||
|
|
|
|||
|
|
-- ========================================
|
|||
|
|
-- 3. 系统设置表
|
|||
|
|
-- ========================================
|
|||
|
|
CREATE TABLE IF NOT EXISTS system_settings (
|
|||
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|||
|
|
setting_key VARCHAR(100) UNIQUE NOT NULL,
|
|||
|
|
setting_value TEXT,
|
|||
|
|
description VARCHAR(255),
|
|||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|||
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|||
|
|
INDEX idx_setting_key (setting_key)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|||
|
|
|
|||
|
|
-- ========================================
|
|||
|
|
-- 4. 视频表
|
|||
|
|
-- ========================================
|
|||
|
|
CREATE TABLE IF NOT EXISTS videos (
|
|||
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|||
|
|
file_id VARCHAR(100) UNIQUE COMMENT '腾讯云VOD文件ID',
|
|||
|
|
title_cn VARCHAR(200) NOT NULL COMMENT '中文标题',
|
|||
|
|
title_en VARCHAR(200) NOT NULL COMMENT '英文标题',
|
|||
|
|
desc_cn TEXT COMMENT '中文描述',
|
|||
|
|
desc_en TEXT COMMENT '英文描述',
|
|||
|
|
cover_url VARCHAR(500) COMMENT '封面图URL',
|
|||
|
|
video_url VARCHAR(500) COMMENT '视频播放URL',
|
|||
|
|
duration INT COMMENT '视频时长(秒)',
|
|||
|
|
file_size BIGINT COMMENT '文件大小(字节)',
|
|||
|
|
status TINYINT DEFAULT 1 COMMENT '1=active, 0=inactive, 2=processing',
|
|||
|
|
sort_order INT DEFAULT 0,
|
|||
|
|
upload_status VARCHAR(50) DEFAULT 'pending' COMMENT 'pending, uploading, success, failed',
|
|||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|||
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|||
|
|
INDEX idx_status (status),
|
|||
|
|
INDEX idx_sort_order (sort_order),
|
|||
|
|
INDEX idx_file_id (file_id)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|||
|
|
|
|||
|
|
-- ========================================
|
|||
|
|
-- 5. VOD配置表(包含COS和防盗链配置)
|
|||
|
|
-- ========================================
|
|||
|
|
CREATE TABLE IF NOT EXISTS vod_config (
|
|||
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|||
|
|
secret_id VARCHAR(255) NOT NULL COMMENT '腾讯云SecretId',
|
|||
|
|
secret_key VARCHAR(255) NOT NULL COMMENT '腾讯云SecretKey',
|
|||
|
|
region VARCHAR(50) DEFAULT 'ap-guangzhou' COMMENT '地域',
|
|||
|
|
sub_app_id VARCHAR(50) COMMENT '点播子应用ID',
|
|||
|
|
`procedure` VARCHAR(100) COMMENT '任务流',
|
|||
|
|
storage_region VARCHAR(50) COMMENT '存储地域',
|
|||
|
|
cos_bucket VARCHAR(100) COMMENT 'COS存储桶名称',
|
|||
|
|
cos_region VARCHAR(50) DEFAULT 'ap-guangzhou' COMMENT 'COS地域',
|
|||
|
|
cos_path VARCHAR(100) DEFAULT 'video-covers/' COMMENT 'COS存储路径前缀',
|
|||
|
|
sign_key VARCHAR(100) COMMENT 'VOD防盗链签名密钥',
|
|||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|||
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|||
|
|
|
|||
|
|
-- ========================================
|
|||
|
|
-- 初始数据插入
|
|||
|
|
-- ========================================
|
|||
|
|
|
|||
|
|
-- 插入默认管理员账户
|
|||
|
|
-- 用户名: admin
|
|||
|
|
-- 密码: admin123456 (使用bcryptjs加密,10轮salt)
|
|||
|
|
INSERT INTO admin_users (username, password, email)
|
|||
|
|
VALUES ('admin', '$2a$10$PGOF6JXp3CGjg.5evfJlG.oeOr/JvxYECbLxn2ypzsRKcT7UK5.YK', 'admin@xuking.com')
|
|||
|
|
ON DUPLICATE KEY UPDATE username=username;
|
|||
|
|
|
|||
|
|
-- 插入默认存储配置
|
|||
|
|
INSERT INTO system_settings (setting_key, setting_value, description)
|
|||
|
|
VALUES
|
|||
|
|
('logo_upload_dir', 'img/logo', 'Directory for partner logo uploads'),
|
|||
|
|
('logo_max_size', '5242880', 'Maximum logo file size in bytes (5MB)'),
|
|||
|
|
('allowed_extensions', 'jpg,jpeg,png,gif,svg', 'Allowed file extensions for logo upload')
|
|||
|
|
ON DUPLICATE KEY UPDATE setting_key=setting_key;
|
|||
|
|
|
|||
|
|
-- 插入现有合作伙伴数据
|
|||
|
|
INSERT INTO partners (name, logo, url, sort_order, status) VALUES
|
|||
|
|
('vivo', 'img/logo/vivo.png', '', 1, 1),
|
|||
|
|
('BOE', 'img/logo/boe.png', '', 2, 1),
|
|||
|
|
('北京大运河博物馆-首都博物馆东馆', 'img/logo/bwg.png', '', 3, 1),
|
|||
|
|
('江西日报', 'img/logo/jxrb.png', '', 4, 1),
|
|||
|
|
('丽江市文化和旅游局', 'img/logo/ljs.png', '', 5, 1),
|
|||
|
|
('Meta', 'img/logo/meta.png', '', 6, 1),
|
|||
|
|
('中国文化传媒', 'img/logo/zgwhcm.png', '', 7, 1)
|
|||
|
|
ON DUPLICATE KEY UPDATE name=VALUES(name);
|
|||
|
|
|
|||
|
|
-- 插入默认VOD配置(空配置,需要后台填写)
|
|||
|
|
INSERT INTO vod_config (secret_id, secret_key, region)
|
|||
|
|
VALUES ('', '', 'ap-guangzhou')
|
|||
|
|
ON DUPLICATE KEY UPDATE id=id;
|
|||
|
|
|
|||
|
|
-- ========================================
|
|||
|
|
-- 初始化完成
|
|||
|
|
-- ========================================
|