
CREATE DATABASE IF NOT EXISTS `cmii_sky_integration` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
use `cmii_sky_integration`;
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

DROP TABLE IF EXISTS `cmii_sky_integration`.`comparison_patch`;
CREATE TABLE IF NOT EXISTS `cmii_sky_integration`.`comparison_patch` (
                                                                         id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '图斑记录主键ID',
                                                                         task_id VARCHAR(64) NOT NULL COMMENT '检测任务ID',
    polygon TEXT NOT NULL COMMENT '多边形WKT格式字符串，顺时针、闭环',
    polygon_hash VARCHAR(64) NOT NULL COMMENT '多边形标准化后的SHA-256 Hash值',
    envelope TEXT NOT NULL COMMENT '外接矩形WKT格式字符串，包含 minX, maxX, minY, maxY',
    patches TEXT NOT NULL COMMENT '识别模型列表，存储ComparisonTarget对象列表的JSON串',
    center VARCHAR(128) NOT NULL COMMENT '变化图斑的中心经纬度，WKT格式：POINT (经度 纬度)',
    area DOUBLE NOT NULL COMMENT '变化图斑的面积，单位：平方m',
    create_time DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '记录创建时间（UTC时区）',
    deleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除：0-未删除，1-已删除',
    -- 主键与索引
    PRIMARY KEY (id),
    UNIQUE INDEX idx_polygon_hash (task_id, polygon_hash) COMMENT '任务内多边形Hash唯一索引（防重复）',
    INDEX idx_task_id (task_id) COMMENT '任务ID索引（按任务查询图斑）',
    INDEX idx_create_time (create_time) COMMENT '创建时间索引（按时间筛选）'
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='图斑对比补丁表';