﻿CREATE TABLE `log_delete_resource` (
  `log_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '로그 ID (PK)',
  `log_date` DATETIME NOT NULL DEFAULT current_timestamp() COMMENT '로그 기록 시각',
  `admin_user_id` INT(11) DEFAULT NULL COMMENT '작업 관리자 ID (FK, auth_user.id)',
  `actor_description` VARCHAR(100) DEFAULT NULL COMMENT '작업 주체 설명 (자동화 등)',
  `resource_id` BIGINT(20) NOT NULL COMMENT '삭제된 자산 ID',
  `category_id` TINYINT(3) UNSIGNED NOT NULL COMMENT '삭제 시점 카테고리 ID',
  `resource_code` VARCHAR(100) DEFAULT NULL COMMENT '삭제 시점 관리 코드',
  `manufacturer` VARCHAR(100) DEFAULT NULL COMMENT '삭제 시점 제조사',
  `resource_name` VARCHAR(100) NOT NULL COMMENT '삭제 시점 제품명',
  `serial_num` VARCHAR(200) DEFAULT NULL COMMENT '삭제 시점 시리얼 번호',
  `spec_value` DECIMAL(10, 2) DEFAULT NULL COMMENT '삭제 시점 사양 값',
  `spec_unit` TINYINT(3) UNSIGNED DEFAULT NULL COMMENT '삭제 시점 사양 단위 ID',
  `user_id` BIGINT(20) DEFAULT NULL COMMENT '삭제 시점 사용자 ID',
  `comments` VARCHAR(200) DEFAULT NULL COMMENT '삭제 시점 비고',
  `purchase_date` DATE DEFAULT NULL COMMENT '삭제 시점 구매 일자',
  `register_date` DATETIME NOT NULL COMMENT '삭제 시점 시스템 등록 일시',
  PRIMARY KEY (log_id)
)
ENGINE = INNODB,
AUTO_INCREMENT = 5,
AVG_ROW_LENGTH = 4096,
CHARACTER SET utf8mb4,
COLLATE utf8mb4_general_ci,
COMMENT = '자산 삭제 활동 로그',
ROW_FORMAT = DYNAMIC;

ALTER TABLE `log_delete_resource` 
  ADD CONSTRAINT `chk_log_delete_resource_actor` CHECK (`admin_user_id` is not null or `actor_description` is not null);