CREATE TABLE app.inventory_transaction (
  transaction_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  item_id UUID NOT NULL REFERENCES app.inventory_item(item_id),
  quantity_change NUMERIC NOT NULL,
  reason TEXT NOT NULL, -- 'stocktake', 'adjustment', 'consumption', 'restock', 'request_fulfilled'
  notes TEXT,
  created_by_user_id UUID NOT NULL REFERENCES app."user"(user_id),
  created_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
CREATE INDEX idx_inventory_transaction_item ON app.inventory_transaction(item_id);
CREATE INDEX idx_inventory_transaction_created ON app.inventory_transaction(created_at);
