Inventory schema

Tabulky

  • inventory_item
  • stock_location
  • inventory_level
  • inventory_reservation
  • supplier_availability
  • availability_text

Klíčové vazby

  • inventory_item.variant_id -> catalog.product_variant.id
  • inventory_level.inventory_item_id -> inventory_item.id
  • inventory_level.location_id -> stock_location.id
  • inventory_reservation.inventory_item_id -> inventory_item.id
  • inventory_reservation.location_id -> stock_location.id
  • supplier_availability.supplier_id -> catalog.supplier.id

Klíčová pravidla

  • inventory_item je 1:1 s variantou,
  • inventory_level je unikátní pro kombinaci item + location,
  • rezervace mají vlastní tabulku a vlastní lifecycle,
  • reserved_quantity se nezapisuje ručně,
  • supplier_availability je oddělená od vlastního stocku.

Trigger

Trigger inventory.trg_sync_reserved_quantity() po každé změně rezervace přepočítává cache v inventory_level.