Files
App-Estoque-LiberiKids/scripts/garantir_tabela_configuracoes.sql
2025-11-29 21:31:52 -03:00

34 lines
1.4 KiB
SQL

-- Garante que a tabela configuracoes existe e tem a estrutura correta
-- Se a tabela já existe, vamos garantir que ela tenha a estrutura correta
DO $$
BEGIN
-- Criar tabela se não existir
IF NOT EXISTS (SELECT FROM pg_tables WHERE schemaname = 'public' AND tablename = 'configuracoes') THEN
CREATE TABLE public.configuracoes (
id uuid DEFAULT gen_random_uuid() NOT NULL PRIMARY KEY,
tipo character varying NOT NULL,
valor jsonb,
created_at timestamp with time zone DEFAULT now() NOT NULL,
updated_at timestamp with time zone DEFAULT now() NOT NULL
);
END IF;
-- Garantir que a constraint UNIQUE existe
IF NOT EXISTS (
SELECT 1 FROM pg_constraint
WHERE conname = 'configuracoes_tipo_key'
AND conrelid = 'public.configuracoes'::regclass
) THEN
ALTER TABLE public.configuracoes ADD CONSTRAINT configuracoes_tipo_key UNIQUE (tipo);
END IF;
END $$;
-- Adiciona índice no campo tipo para melhor performance (se não existir)
CREATE INDEX IF NOT EXISTS idx_configuracoes_tipo ON public.configuracoes(tipo);
-- Adiciona comentários
COMMENT ON TABLE public.configuracoes IS 'Armazena todas as configurações do sistema';
COMMENT ON COLUMN public.configuracoes.tipo IS 'Tipo da configuração (chave única)';
COMMENT ON COLUMN public.configuracoes.valor IS 'Valor da configuração em formato JSON';