-- 表: ssl_certificates
-- 用于存储用户申请的SSL证书

DROP TABLE IF EXISTS `ssl_certificates`;
CREATE TABLE `ssl_certificates` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL COMMENT '用户ID',
  `bt_id` int(11) NOT NULL COMMENT 'BT面板ID',
  `domain` varchar(255) NOT NULL COMMENT '域名',
  `cert_hash` varchar(255) DEFAULT NULL COMMENT '证书hash',
  `cert_content` text COMMENT '证书内容(PEM格式)',
  `key_content` text COMMENT '私钥内容(PEM格式)',
  `chain_content` text COMMENT '证书链内容',
  `fullchain_content` text COMMENT '完整证书链(证书+证书链)',
  `cert_path` varchar(512) DEFAULT NULL COMMENT '证书文件路径',
  `key_path` varchar(512) DEFAULT NULL COMMENT '私钥文件路径',
  `issuer` varchar(255) DEFAULT NULL COMMENT '颁发机构',
  `valid_from` datetime DEFAULT NULL COMMENT '生效时间',
  `valid_to` datetime DEFAULT NULL COMMENT '到期时间',
  `auto_renew` tinyint(1) DEFAULT '1' COMMENT '自动续期开关：0关闭，1开启',
  `renew_days` int(11) DEFAULT '30' COMMENT '提前续期天数',
  `last_renew_time` datetime DEFAULT NULL COMMENT '最后续期时间',
  `status` varchar(20) DEFAULT 'active' COMMENT '证书状态：active,expired,revoked',
  `brand` varchar(50) DEFAULT 'letsencrypt' COMMENT '证书品牌',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `idx_user_id` (`user_id`),
  KEY `idx_bt_id` (`bt_id`),
  KEY `idx_domain` (`domain`),
  KEY `idx_valid_to` (`valid_to`),
  KEY `idx_status` (`status`),
  KEY `idx_cert_hash` (`cert_hash`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='SSL证书管理表';
