-- ******************************************************************
-- 表 kku_item_transaction_logs 的创建SQL
-- 对应的Model: App\Module\GameItems\Models\ItemTransactionLog
-- 警告: 此文件由系统自动生成，禁止修改！
-- ******************************************************************

CREATE TABLE `kku_item_transaction_logs` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '记录ID，主键',
  `user_id` int(11) NOT NULL COMMENT '用户ID',
  `item_id` int(11) NOT NULL COMMENT '物品ID，外键关联kku_item_items表',
  `instance_id` int(11) DEFAULT NULL COMMENT '单独属性物品ID，外键关联kku_item_instances表（可为空）',
  `quantity` int(11) NOT NULL COMMENT '数量（正数表示获取，负数表示消耗）',
  `transaction_type` tinyint(4) NOT NULL COMMENT '交易类型（1:获取, 2:消耗, 3:交易获得, 4:交易失去, 5:过期失效）',
  `source_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '来源类型（如任务奖励、商店购买、宝箱开启等）',
  `source_id` int(11) DEFAULT NULL COMMENT '来源ID（如任务ID、订单ID、宝箱ID等）',
  `attributes` json DEFAULT NULL COMMENT '额外属性，存储交易相关的详细信息',
  `expire_at` timestamp NULL DEFAULT NULL COMMENT '物品过期时间（如果有）',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  `ip_address` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '操作的IP地址（用于安全审计）',
  `device_info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '设备信息（用于安全审计）',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_user_created` (`user_id`,`created_at`) USING BTREE,
  KEY `idx_item_id` (`item_id`) USING BTREE,
  KEY `idx_transaction_source` (`transaction_type`,`source_type`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='物品获取/消耗记录表';
