ALTER DATABASE CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

CREATE TABLE `{TableName}` (
    `LogNo` int NOT NULL AUTO_INCREMENT COMMENT '로그 순번',
    `Acknowledge` varchar(1) CHARACTER SET utf8mb4 NULL COMMENT '거래 구분',
    `ApplicationID` varchar(32) CHARACTER SET utf8mb4 NULL COMMENT '애플리케이션 ID',
    `Flow` varchar(1) CHARACTER SET utf8mb4 NULL COMMENT '업무 흐름',
    `Format` varchar(1) CHARACTER SET utf8mb4 NULL COMMENT '데이터 포맷',
    `GlobalID` varchar(50) CHARACTER SET utf8mb4 NULL COMMENT '거래 고유 ID',
    `Level` varchar(1) CHARACTER SET utf8mb4 NULL COMMENT '업무 수준',
    `Message` varchar(8000) CHARACTER SET utf8mb4 NULL COMMENT '로그 메시지',
    `ProgramName` varchar(50) CHARACTER SET utf8mb4 NULL COMMENT '프로그램',
    `ProjectID` varchar(32) CHARACTER SET utf8mb4 NULL COMMENT '프로젝트 ID',
    `Properties` varchar(8000) CHARACTER SET utf8mb4 NULL COMMENT '추가 속성',
    `RunningEnvironment` varchar(1) CHARACTER SET utf8mb4 NULL COMMENT '실행 환경',
    `ServerID` varchar(30) CHARACTER SET utf8mb4 NULL COMMENT '서버 ID',
    `ServiceID` varchar(32) CHARACTER SET utf8mb4 NULL COMMENT '서비스 ID',
    `TransactionID` varchar(32) CHARACTER SET utf8mb4 NULL COMMENT '거래 ID',
    `Type` varchar(1) CHARACTER SET utf8mb4 NULL COMMENT '업무 구분',
    `UserID` varchar(32) CHARACTER SET utf8mb4 NULL COMMENT '입력자 ID',
    `CreatedAt` datetime CHARACTER SET utf8mb4 NULL COMMENT '입력 일시',
    `IpAddress` varchar(50) CHARACTER SET utf8mb4 NULL COMMENT 'IP 주소',
    `DeviceID` varchar(64) CHARACTER SET utf8mb4 NULL COMMENT '단말 ID',
    `ProgramID` varchar(32) CHARACTER SET utf8mb4 NULL COMMENT '프로그램 ID',
    CONSTRAINT `PK_{TableName}` PRIMARY KEY (`LogNo`)
) CHARACTER SET=utf8mb4;

CREATE INDEX IX_{TableName}_GlobalID
ON `{TableName}` (`GlobalID`);

CREATE INDEX IX_{TableName}_CreatedAt
ON `{TableName}` (`CreatedAt` DESC);