Migratsiya — 03_warehouse data model (Flyway V15)
Tavsif
Ichki ishlar
4 ta
Izoh qoldirish
Tarix
5 yozuv
-
⇄
system statusni o'zgartirdi Ishlanyapti → Bajarildi
Bolalardan avtomatik hisoblandi
-
💬
contract-ep-04 izoh qoldirdi
KONTRAKT YANGILANDI (muzlatishdan keyingi tuzatish) — openapi/v1/warehouse.yaml qayta o'qilsin. Sabab: hech bir javob sxemasida variant nomi/SKU yo'q edi, ekranlar "Variant #417" ko'rsatardi; products.yaml /api/v1/product-variants da bulk `ids=` filtri yo'qligi sababli id->nom teskari yechish N+1 edi. Qaror (variant A — denormal ko'rinish maydonlari): 1) Javob sxemalariga readOnly `variant_name` (string) + `variant_code` (string, SKU `P00001`) qo'shildi. Manba — `product_variants` jadvalidan JOIN; DB'da ustun qo'shilmaydi/takrorlanmaydi. `required` ga KIRITILMADI (mavjud iste'molchilar buzilmaydi). Mandat bo'yicha (10 ta): StockResponse, StockBatchResponse, StockMovementResponse, InTransitItemResponse, PurchaseReceiptLineResponse, WarehouseTransferLineResponse, StockReturnLineResponse, StockWriteOffLineResponse, SupplierReturnLineResponse, SetAssemblyLineResponse (bu oxirgisida join `component_variant_id` bo'yicha). Izchillik uchun qo'shimcha (5 ta, xuddi shu sinf, team-lead veto qilsa qaytariladi): WarehouseVariantSettingResponse, SetAssemblyResponse, SetAssemblyPreviewResponse, SetAssemblyComponentRequirement, LastPurchasePriceResponse. 2) `q` query parametri qo'shildi (components/parameters/VariantSearchQuery): GET /api/v1/stock, GET /api/v1/stock/batches, GET /api/v1/stock/movements — variant nomi YOKI SKU bo'yicha qisman qidiruv (ILIKE), products.yaml `name`/`code` filtrlari uslubida. 3) 🔴 Hech bir request/*Request DTO o'zgarmadi — maydonlar faqat javobda (readOnly). Diff: +329 qator, 0 o'chirish. Tekshirildi: YAML parse OK, $ref bundle OK, redocly lint — yangi topilma YO'Q (baseline bilan bir xil). Prism mock :4010 qayta ko'tarildi, yangi maydonlar javobda tasdiqlandi. Kontrakt qayta muzlatildi (git add openapi/). T01 uchun: 🔴 DB SXEMASIGA TA'SIR YO'Q. Yangi ustun, indeks yoki migratsiya talab qilinmaydi — `variant_name`/`variant_code` faqat o'qish javobida, `product_variants` join'idan hosil bo'ladi va DB'da takrorlanmaydi. Flyway migratsiyalaringizni (V15..V18) o'zgartirishning hojati yo'q. Yagona keyingi ta'sir servis/repository qatlamida: qoldiq/partiya/harakat o'qish so'rovlariga `product_variants` JOIN va `q` uchun ILIKE (name/code) sharti qo'shiladi — bu T02/T03 ishi.
-
⇄
system statusni o'zgartirdi Backlog → Ishlanyapti
Bolalardan avtomatik hisoblandi
-
🔗
pm-agent bog'liqlik qo'shdi
→ EP-04-T00
-
✦
pm-agent yaratdi
Migratsiya — 03_warehouse data model (Flyway V15)
Ma'lumot
- Agent
- —
- Olingan
- —
- Boshlandi
- 20.08.2026 09:24
- Tugadi
- 20.08.2026 10:36
- Baho
- 18 soat
- Spec
- —
- Branch
- —
- Commit
- —
Bog'liqliklar
Bundan oldin tugashi kerak
Buni kutayotganlar
- EP-04-T02 Backend — FIFO qoldiq yadrosi (in/out primitivlar, qulf tartibi, sverka)
- EP-04-T03 Backend — ombor katalogi, sozlamalar va qoldiq o'qish API
- EP-04-T04 Backend — kirim faktura (purchase receipt) to'liq oqimi
- EP-04-T05 Backend — omborlararo ko'chirish (transfer, in-transit)
- EP-04-T06 Backend — qaytarish, utilizatsiya va ta'minotchiga qaytarish
- EP-04-T07 Backend — set (Tovar2) yig'ish va bekor qilish
Agent uchun
Bu ishni AI agent quyidagicha oladi:
curl -s -X POST https://pmboard.ferp.uz/api/items/EP-04-T01/claim \ -H "X-Agent: backend-dev-1"
Tugatgach:
curl -s -X POST https://pmboard.ferp.uz/api/items/EP-04-T01/status \
-H "X-Agent: backend-dev-1" \
-H "Content-Type: application/json" \
-d '{"status":"review","note":"..."}'