PARA.AI / scripts /seed-data.sql
caarleexx's picture
Rename seed.sql to scripts/seed-data.sql
61cfe45 verified
raw
history blame
3.47 kB
-- ============================================================================
-- Seed Data para desenvolvimento local - para.AI
-- ============================================================================
-- Este script insere dados de teste para desenvolvimento
-- Inserir tribunal de teste
INSERT INTO tribunais (id, nome, sigla, uf, tipo, url_base, created_at, updated_at)
VALUES
(gen_random_uuid(), 'Tribunal de Justiça do Paraná', 'TJPR', 'PR', 'Estadual', 'https://www.tjpr.jus.br', NOW(), NOW()),
(gen_random_uuid(), 'Tribunal de Justiça de São Paulo', 'TJSP', 'SP', 'Estadual', 'https://www.tjsp.jus.br', NOW(), NOW()),
(gen_random_uuid(), 'Superior Tribunal de Justiça', 'STJ', 'DF', 'Superior', 'https://www.stj.jus.br', NOW(), NOW())
ON CONFLICT (sigla) DO NOTHING;
-- Inserir usuário de teste
INSERT INTO usuarios (id, email, nome, senha_hash, ativo, role, created_at, updated_at)
VALUES
(gen_random_uuid(), 'admin@para.ai', 'Administrador', '$2b$12$dummy_hash_for_development', TRUE, 'admin', NOW(), NOW()),
(gen_random_uuid(), 'dev@para.ai', 'Desenvolvedor', '$2b$12$dummy_hash_for_development', TRUE, 'user', NOW(), NOW())
ON CONFLICT (email) DO NOTHING;
-- Inserir acórdão de teste
DO $$
DECLARE
v_tribunal_id VARCHAR(36);
v_acordao_id VARCHAR(36);
BEGIN
-- Pegar ID do TJPR
SELECT id INTO v_tribunal_id FROM tribunais WHERE sigla = 'TJPR' LIMIT 1;
-- Inserir acórdão de teste
INSERT INTO acordaos (
id, tribunal_id, numero, ano, data_julgamento,
ementa, relator, orgao_julgador,
hash_conteudo, status_processamento,
created_at, updated_at
)
VALUES (
gen_random_uuid(),
v_tribunal_id,
'0000001-00.2025.8.16.0000',
2025,
'2025-01-15 14:30:00',
'APELAÇÃO CÍVEL. DIREITO DO CONSUMIDOR. RESPONSABILIDADE CIVIL. DANO MORAL. CDC ART. 14. RECURSO PROVIDO.',
'Des. Teste da Silva',
'1ª Câmara Cível',
encode(sha256('teste_acordao_1'::bytea), 'hex'),
'pendente',
NOW(),
NOW()
)
ON CONFLICT (hash_conteudo) DO NOTHING
RETURNING id INTO v_acordao_id;
-- Inserir palavras-chave de teste
INSERT INTO palavras_chave (id, termo, categoria, frequencia, ativo, created_at)
VALUES
(gen_random_uuid(), 'responsabilidade civil', 'direito_civil', 100, TRUE, NOW()),
(gen_random_uuid(), 'dano moral', 'direito_civil', 150, TRUE, NOW()),
(gen_random_uuid(), 'consumidor', 'direito_consumidor', 200, TRUE, NOW()),
(gen_random_uuid(), 'CDC', 'legislacao', 180, TRUE, NOW())
ON CONFLICT (termo) DO NOTHING;
END $$;
-- Criar índices adicionais úteis
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_acordao_ano_tribunal ON acordaos(ano, tribunal_id);
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_acordao_status_data ON acordaos(status_processamento, data_julgamento DESC);
-- Vacuum e analyze
VACUUM ANALYZE acordaos;
VACUUM ANALYZE tribunais;
VACUUM ANALYZE usuarios;
-- Mensagem de sucesso
DO $$
BEGIN
RAISE NOTICE '✅ Seed data inserido com sucesso!';
RAISE NOTICE '📊 Estatísticas:';
RAISE NOTICE ' - Tribunais: %', (SELECT COUNT(*) FROM tribunais);
RAISE NOTICE ' - Usuários: %', (SELECT COUNT(*) FROM usuarios);
RAISE NOTICE ' - Acórdãos: %', (SELECT COUNT(*) FROM acordaos);
RAISE NOTICE ' - Palavras-chave: %', (SELECT COUNT(*) FROM palavras_chave);
END $$;