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

CREATE TABLE `kku_item_users` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '记录ID，主键',
  `user_id` int NOT NULL COMMENT '用户ID',
  `item_id` int NOT NULL COMMENT '统一属性物品ID，外键关联kku_item_items表',
  `instance_id` int DEFAULT NULL COMMENT '单独属性物品ID，外键关联kku_item_instances表（可为空）',
  `quantity` int NOT NULL DEFAULT '1' COMMENT '数量（对于单独属性物品，该值始终为1）',
  `expire_at` timestamp NULL DEFAULT NULL COMMENT '用户物品过期时间（可为空）',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '获取时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  `is_frozen` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否冻结（0:未冻结, 1:已冻结）',
  `frozen_log_id` int DEFAULT NULL COMMENT '冻结日志ID，关联kku_item_freeze_logs表',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_user_item` (`user_id`,`item_id`) USING BTREE,
  KEY `idx_user_instance` (`user_id`,`instance_id`) USING BTREE,
  KEY `idx_expire_at` (`expire_at`) USING BTREE,
  KEY `fk_user_item` (`item_id`) USING BTREE,
  KEY `fk_user_instance` (`instance_id`) USING BTREE,
  KEY `idx_frozen_status` (`user_id`,`is_frozen`),
  KEY `idx_frozen_log` (`frozen_log_id`),
  KEY `idx_user_item_frozen` (`user_id`,`item_id`,`is_frozen`),
  KEY `idx_expire_frozen` (`expire_at`,`is_frozen`),
  CONSTRAINT `fk_user_instance` FOREIGN KEY (`instance_id`) REFERENCES `kku_item_instances` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT,
  CONSTRAINT `fk_user_item` FOREIGN KEY (`item_id`) REFERENCES `kku_item_items` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户物品关联表';
