CREATE TABLE grupo_dados_itens (
    id             bigint NOT NULL,
    grupo_dados_id bigint NOT NULL,
    label          VARCHAR2(50) NOT NULL,
    slug           VARCHAR2(50) NOT NULL,
    ordem          SMALLINT NOT NULL,
    tipo           VARCHAR2(50) NOT NULL,
    situacao       SMALLINT DEFAULT 1 NOT NULL,
    configuracao   json NOT NULL
);

ALTER TABLE grupo_dados_itens
    ADD CHECK ( tipo IN ( 'checkbox', 'checkbox_switch', 'color', 'data', 'email',
                          'externo', 'hora', 'int', 'numeric', 'select',
                          'telefone', 'textarea', 'texto' ) );

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

COMMENT ON COLUMN grupo_dados_itens.slug IS
    'Slug do campo';

COMMENT ON COLUMN grupo_dados_itens.tipo IS
    'Tipo do item
texto           => Texto,
int             => Inteiro,
numeric         => Decimal,
select          => Lista,
data            => Data,
hora            => Hora,
externo         => Externo,
textarea        => Caixa de Texto,
email           => Email,
telefone        => Telefone,
color           => Cor,
checkbox        => Flag,
checkbox_switch => On/Off';