<?php
/**
 * 存储插件安装脚本
 */

// 创建存储配置表
$db = Database::getInstance();

// 存储配置表
$db->query("
    CREATE TABLE IF NOT EXISTS __PREFIX__storage_files (
        `id` int(11) NOT NULL AUTO_INCREMENT,
        `original_name` varchar(255) NOT NULL DEFAULT '' COMMENT '原始文件名',
        `filename` varchar(255) NOT NULL DEFAULT '' COMMENT '存储文件名',
        `path` varchar(500) NOT NULL DEFAULT '' COMMENT '存储路径',
        `url` varchar(500) NOT NULL DEFAULT '' COMMENT '访问URL',
        `storage_type` varchar(20) NOT NULL DEFAULT 'local' COMMENT '存储类型: local/qiniu/aliyun/tencent',
        `file_type` varchar(20) NOT NULL DEFAULT 'image' COMMENT '文件类型: image/video/attachment',
        `file_size` int(11) NOT NULL DEFAULT 0 COMMENT '文件大小(字节)',
        `mime_type` varchar(100) NOT NULL DEFAULT '' COMMENT 'MIME类型',
        `user_id` int(11) DEFAULT NULL COMMENT '上传用户ID',
        `created_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
        PRIMARY KEY (`id`),
        KEY `idx_user_id` (`user_id`),
        KEY `idx_storage_type` (`storage_type`),
        KEY `idx_file_type` (`file_type`),
        KEY `idx_created_at` (`created_at`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='存储文件记录表';
");

// 创建存储配置表
$db->query("
    CREATE TABLE IF NOT EXISTS __PREFIX__storage_config (
        `id` int(11) NOT NULL AUTO_INCREMENT,
        `storage_type` varchar(20) NOT NULL DEFAULT 'local' COMMENT '存储类型',
        `config_key` varchar(100) NOT NULL DEFAULT '' COMMENT '配置键',
        `config_value` text COMMENT '配置值',
        PRIMARY KEY (`id`),
        UNIQUE KEY `uk_type_key` (`storage_type`, `config_key`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='存储配置表';
");

// 插入默认配置
$db->query("INSERT IGNORE INTO __PREFIX__storage_config (storage_type, config_key, config_value) VALUES 
    ('local', 'enabled', '1'),
    ('local', 'path', 'uploads'),
    ('qiniu', 'enabled', '0'),
    ('aliyun', 'enabled', '0'),
    ('tencent', 'enabled', '0')
");
