-- ============================================================================
-- Migration: 运维工时功能 - 数据库变更
-- Description: 运维事件工时登记功能所需的数据库变更
-- 1. 在 ops_operation_event 表新增 total_work_hour 字段
-- 2. 新建 ops_operation_work_hour 表
-- ============================================================================

-- 1. 在运维事件表新增累计工时字段
ALTER TABLE `ops_operation_event`
    ADD COLUMN `total_work_hour` DECIMAL(8,2) DEFAULT 0.00 COMMENT '累计工时（小时）'
    AFTER `complete_desc`;

-- 2. 新建运维工时登记表
CREATE TABLE `ops_operation_work_hour` (
    `id`            BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
    `event_id`      BIGINT UNSIGNED NOT NULL COMMENT '关联运维事件ID',
    `ops_user_id`   INT             NOT NULL COMMENT '登记人ID',
    `ops_user_name` VARCHAR(64)     NOT NULL COMMENT '登记人姓名',
    `work_date`     DATETIME        NOT NULL COMMENT '工作日期',
    `work_hour`     DECIMAL(8,2)    NOT NULL COMMENT '工时（小时）',
    `remark`        TEXT            NULL     COMMENT '工作说明',
    `created_by`    INT             NOT NULL COMMENT '创建者',
    `created_name`  VARCHAR(64)     NOT NULL COMMENT '创建人',
    `created_time`  DATETIME        NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updated_by`    INT             NULL     COMMENT '更新者',
    `updated_name`  VARCHAR(64)     NULL     COMMENT '更新人',
    `updated_time`  DATETIME        NULL     COMMENT '更新时间',
    `deleted_time`  DATETIME        NULL     COMMENT '删除时间',
    INDEX `idx_event_id` (`event_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='运维事件工时登记表';
