-- +goose Up
-- +goose StatementBegin

-- Adiciona etapa_atual em ordens_producao para rastreamento rápido
ALTER TABLE ordens_producao
    ADD COLUMN IF NOT EXISTS etapa_atual TEXT NOT NULL DEFAULT 'separacao'
        CHECK (etapa_atual IN (
            'separacao','corte','bordado','silk',
            'sublimacao','dtf','aplik','costura','acabamento','entrega'
        ));

CREATE INDEX IF NOT EXISTS idx_ordens_etapa ON ordens_producao (tenant_id, etapa_atual)
    WHERE status NOT IN ('concluido','cancelado');

-- Garante que etapas_producao tem índice por status para avanço rápido
CREATE INDEX IF NOT EXISTS idx_etapas_ordem_status ON etapas_producao (ordem_id, status);

-- +goose StatementEnd

-- +goose Down
-- +goose StatementBegin
ALTER TABLE ordens_producao DROP COLUMN IF EXISTS etapa_atual;
DROP INDEX IF EXISTS idx_ordens_etapa;
DROP INDEX IF EXISTS idx_etapas_ordem_status;
-- +goose StatementEnd
