CREATE TABLE filial_modelo_planos (
    id              bigint NOT NULL,
    filial_id       bigint NOT NULL,
    modelo_plano_id bigint NOT NULL,
    tipo_modelo     SMALLINT NOT NULL,
    situacao        SMALLINT DEFAULT 1 NOT NULL
);

ALTER TABLE filial_modelo_planos
    ADD CHECK ( tipo_modelo IN ( 1, 2, 3, 4, 5,
                                 6 ) );

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

COMMENT ON COLUMN filial_modelo_planos.tipo_modelo IS
    'Tipo do modelo de Plano
1-Produtos
2-Serviços
3-Centro de Custos
4-Plano Contábil
5-Plano Financeiro
6-Plano Contábil Auxiliar';
CREATE UNIQUE INDEX filial_modelo_planos_TipoSit ON filial_modelo_planos 
    ( tipo_modelo, situacao WHERE situacao = 1
    ) 
;