CREATE TABLE fluxo_fases (
    id                    bigint NOT NULL,
    fluxo_id              bigint NOT NULL,
    fase_id               bigint NOT NULL,
    ordem                 SMALLINT NOT NULL,
    regra_negocio_chegada bigint,
    regra_negocio_saida   bigint,
    situacao              SMALLINT DEFAULT 1 NOT NULL,
    descricao_detalhada   VARCHAR2(500),
    percentual            NUMBER(5, 2),
    fluxo_paralelo_id     bigint,
    disponivel_app        SMALLINT DEFAULT 0
);

ALTER TABLE fluxo_fases
    ADD CHECK ( situacao IN ( 0, 1 ) );

ALTER TABLE fluxo_fases
    ADD CHECK ( disponivel_app IN ( 0, 1 ) );

COMMENT ON COLUMN fluxo_fases.fase_id IS
    'Id da Fase';

COMMENT ON COLUMN fluxo_fases.ordem IS
    'Ordem da fase';

COMMENT ON COLUMN fluxo_fases.regra_negocio_chegada IS
    'Regra de negócio a ser executada quando chega na fase';

COMMENT ON COLUMN fluxo_fases.regra_negocio_saida IS
    'Regra de negócio a ser executada quando sai da fase';

COMMENT ON COLUMN fluxo_fases.percentual IS
    'Percentual correspondente a essa Fase';

COMMENT ON COLUMN fluxo_fases.fluxo_paralelo_id IS
    'Identificação do Fluxo paralelo a ser executado.';