BEGIN;

CREATE SCHEMA IF NOT EXISTS warehouse;

ALTER TABLE IF EXISTS warehouse.putaway_task_items
    ADD COLUMN IF NOT EXISTS storage_capacity_required numeric(18,4) DEFAULT 0,
    ADD COLUMN IF NOT EXISTS storage_capacity_uom text,
    ADD COLUMN IF NOT EXISTS completed_at timestamp without time zone,
    ADD COLUMN IF NOT EXISTS completed_by_name text;

ALTER TABLE IF EXISTS warehouse.bin_movements
    ADD COLUMN IF NOT EXISTS putaway_task_id bigint,
    ADD COLUMN IF NOT EXISTS putaway_task_item_id bigint,
    ADD COLUMN IF NOT EXISTS capacity_impact numeric(18,4) DEFAULT 0,
    ADD COLUMN IF NOT EXISTS storage_capacity_uom text;

CREATE INDEX IF NOT EXISTS idx_putaway_task_items_capacity
    ON warehouse.putaway_task_items (tenant_id, putaway_task_id, bin_location_id);

CREATE INDEX IF NOT EXISTS idx_bin_movements_putaway
    ON warehouse.bin_movements (tenant_id, putaway_task_id, putaway_task_item_id);

COMMIT;
