-- ============================================================================ -- 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 $$;