# Size Column Migration

## Mục đích
Thêm cột `size` vào bảng `pg__dashboard_canifa__ultra_descriptions` để lưu **bảng size đã filter** (chỉ size thực tế có bán), giúp giảm token khi hiển thị trong chatbot.

## Files
- `migrations/002_add_size_column.sql` - Thêm cột `size`
- `populate_size_column.py` - Điền dữ liệu vào cột `size`

## Cách chạy

### Bước 1: Apply migration (thêm cột)
```bash
sqlite3 backend/database/canifa_ai_dump.sqlite < backend/database/migrations/002_add_size_column.sql
```

Hoặc mở DB bằng DB Browser for SQLite và chạy SQL:
```sql
ALTER TABLE pg__dashboard_canifa__ultra_descriptions ADD COLUMN size TEXT;
```

### Bước 2: Populate data
```bash
cd backend/database
python populate_size_column.py
```

Script sẽ:
1. Đọc `description_data->'huong_dan_size'` (bảng size đầy đủ với XS, S, M, L, XL)
2. Lọc chỉ giữ lại các size có trong `size_scale` (VD: "L, M, S, XL")
3. Ghi kết quả vào cột `size`

### Bước 3: Verify
```bash
sqlite3 backend/database/canifa_ai_dump.sqlite "SELECT id, size_scale, size FROM pg__dashboard_canifa__ultra_descriptions WHERE size IS NOT NULL LIMIT 1;"
```

Expected output:
- `size_scale`: "L, M, S, XL"
- `size`: Bảng markdown chỉ chứa S, M, L, XL (không có XS)

## Lợi ích
- Trước: `huong_dan_size` ~500 tokens (bảng đầy đủ 5-6 sizes)
- Sau: `size` ~100 tokens (chỉ sizes thực tế)
- Tiết kiệm ~400 tokens/sp × số sản phẩm hiển thị

## Notes
- Cột `size` được thêm vào SELECT trong `product_search_engine.py`
- Output `item["size_table"]` sẽ dùng cột `size` thay vì parse `huong_dan_size` mỗi lần
