ddl.sql 5.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. -- ============================================================================
  2. -- SNKRDUNK 日本站 爬虫建表脚本
  3. -- 变更日期 2026/07/22
  4. -- 表1 snkrdunk_jp_used_item : 二手出品 / 商品信息(列表页 + 详情页)
  5. -- 表2 snkrdunk_jp_trading_history : 买卖历史(交易记录)
  6. -- 说明:字段名一律按原意翻译,避开 MySQL 保留字(如 condition/status 已改名)
  7. -- ============================================================================
  8. -- ------------------------------ 表1:商品信息 ------------------------------
  9. CREATE TABLE IF NOT EXISTS `snkrdunk_jp_used_item` (
  10. `id` BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  11. `apparel_id` BIGINT NOT NULL COMMENT '商品(款式)ID,URL 中 /apparels/{apparel_id}',
  12. `used_item_id` BIGINT NOT NULL COMMENT '二手出品ID,URL 中 /used/{used_item_id}',
  13. `product_id` BIGINT DEFAULT NULL COMMENT '商品目录ID(catalog),交易记录接口用的就是它',
  14. `product_number` VARCHAR(128) DEFAULT NULL COMMENT '品番,如 pkmn-tcg-M-P-133',
  15. `name_ja` VARCHAR(512) DEFAULT NULL COMMENT '商品名(日文)',
  16. `name_en` VARCHAR(512) DEFAULT NULL COMMENT '商品名(英文)',
  17. `brand_id` VARCHAR(64) DEFAULT NULL COMMENT '品牌ID,如 pokemon',
  18. `brand_name` VARCHAR(255) DEFAULT NULL COMMENT '品牌名(日文)',
  19. `category_name` VARCHAR(255) DEFAULT NULL COMMENT '类目(日文),如 トレカ (シングルカード)',
  20. `quantity_text` VARCHAR(32) DEFAULT NULL COMMENT '枚数,如 1枚',
  21. `condition_grade` VARCHAR(32) DEFAULT NULL COMMENT '品相/评级,A/B/C/D/PSA10/BGS9.5/ARS10 等',
  22. `condition_desc` VARCHAR(255) DEFAULT NULL COMMENT '品相完整描述,如 B(小さなキズ/ソリがある品)',
  23. `price` INT DEFAULT NULL COMMENT '售价(日元)',
  24. `sale_status` INT DEFAULT NULL COMMENT '出品状态码,0=出品中/入札中,4=取引完了(已售)',
  25. `sale_status_text` VARCHAR(64) DEFAULT NULL COMMENT '出品状态文本,如 取引完了',
  26. `is_sold` TINYINT(1) DEFAULT NULL COMMENT '是否已售,1=SOLD,0=在售',
  27. `primary_image_url` VARCHAR(512) DEFAULT NULL COMMENT '主图URL',
  28. `image_urls` TEXT DEFAULT NULL COMMENT '全部图片URL,多个用英文逗号(,)分割',
  29. `detail_url` VARCHAR(512) DEFAULT NULL COMMENT '详情页URL',
  30. `released_at` DATETIME DEFAULT NULL COMMENT '发售时间(已转为北京时间 UTC+8)',
  31. `data_source` VARCHAR(16) DEFAULT NULL COMMENT '数据来源:list=列表页,detail=详情页',
  32. `gmt_create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  33. `gmt_modified_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  34. UNIQUE KEY `uk_apparel_used` (`apparel_id`, `used_item_id`),
  35. KEY `idx_product` (`product_id`),
  36. KEY `idx_is_sold` (`is_sold`)
  37. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='SNKRDUNK日本站 商品信息';
  38. -- ------------------------------ 表2:买卖历史(交易记录) ------------------------------
  39. CREATE TABLE IF NOT EXISTS `snkrdunk_jp_trading_history` (
  40. `id` BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  41. `product_id` BIGINT NOT NULL COMMENT '商品目录ID(catalog)',
  42. `apparel_id` BIGINT DEFAULT NULL COMMENT '关联的商品(款式)ID',
  43. `product_number` VARCHAR(128) DEFAULT NULL COMMENT '品番,如 pkmn-tcg-M-P-133',
  44. `sold_price` INT NOT NULL COMMENT '成交价(日元)',
  45. `condition_grade` VARCHAR(32) DEFAULT NULL COMMENT '成交时品相/评级,A/B/C/D/PSA10 等',
  46. `quantity_text` VARCHAR(32) DEFAULT NULL COMMENT '枚数,如 1枚',
  47. `sold_at` DATETIME DEFAULT NULL COMMENT '成交时间(已转为北京时间 UTC+8,与现有管线 trading_at 一致)',
  48. `trade_index_in_second` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '同 (product_id, sold_at, 价格, 品相, 枚数) 签名内的位序 0/1/2..,用于区分同秒的多笔真实重复成交',
  49. `gmt_create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  50. `gmt_modified_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  51. UNIQUE KEY `uk_trade` (`product_id`, `sold_at`, `sold_price`, `condition_grade`, `quantity_text`, `trade_index_in_second`),
  52. KEY `idx_sold_at` (`sold_at`)
  53. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='SNKRDUNK日本站 买卖历史(交易记录)';