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

CREATE TABLE `kku_item_instances` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '唯一物品ID，主键',
  `item_id` int NOT NULL COMMENT '关联的基础物品ID，外键关联kku_item_items表',
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '物品名称（可以与基础物品不同）',
  `display_attributes` json DEFAULT NULL COMMENT '展示属性，以JSON格式存储键值对',
  `numeric_attributes` json DEFAULT NULL COMMENT '数值属性，以JSON格式存储键值对',
  `tradable` tinyint DEFAULT '1' COMMENT '是否可交易（0:不可交易, 1:可交易，默认）',
  `is_bound` tinyint DEFAULT '0' COMMENT '是否已绑定（0:未绑定, 1:已绑定）',
  `bound_to` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绑定对象（账号ID或角色ID）',
  `bind_exp_time` timestamp NULL DEFAULT NULL COMMENT '绑定过期时间（为空表示永久绑定）',
  `expire_at` timestamp NULL DEFAULT NULL COMMENT '物品过期时间（可为空）',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_item_id` (`item_id`) USING BTREE,
  KEY `idx_tradable` (`tradable`) USING BTREE,
  KEY `idx_is_bound` (`is_bound`) USING BTREE,
  KEY `idx_bound_to` (`bound_to`) USING BTREE,
  KEY `idx_bind_exp_time` (`bind_exp_time`) USING BTREE,
  KEY `idx_expire_at` (`expire_at`) USING BTREE,
  CONSTRAINT `fk_instance_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='单独属性物品表';
