Spaces:
Runtime error
Runtime error
| -- ============================================================================ | |
| -- 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 $$; | |