------------------------------------------------
--    Criado por Julio Ribeiro - 13/07/2010   --
------------------------------------------------

-- 	Script que prepara o banco de dados para uma
-- nova migracao de alunos. Ele exclui todos os
-- dados de alunos, funcionarios, professores de
-- testes, turmas e escolas de testes. Assim como
-- suas relacoes. No final do script eh chamada 
-- a funcao responsavel pela nova migracao.

-- OBS: verifique se no banco de dados que sera
-- modificado possui o esquema bdcensoeducacao.
-- Nele que estao contidos os dados de migracao.

------------------------------------------------

--deletando registros de querys
DELETE FROM educacao.mat_log;

--deletando registros de turmas e suas relacoes
DELETE FROM educacao."mat_avaliacaoTurma";
DELETE FROM educacao."mat_presencaTurma";
DELETE FROM educacao.mat_turmadisciplinasituacaofinal;
DELETE FROM educacao."mat_turmaDisciplina";
DELETE FROM educacao."mat_turmaAluno";
DELETE FROM educacao.mat_turma;

--deletando demais registros de alunos
DELETE FROM educacao.mat_documentos WHERE tipoidentificador = 9 or tipoidentificador = 10 or tipoidentificador = 11;
DELETE FROM educacao.mat_endereco where "tipoIdentificacao" = 1 or "tipoIdentificacao" = 13;
DELETE FROM educacao."mat_alunoNecessidadeEspecial";
DELETE FROM educacao."mat_alunoEscola";
-- deletando alunos
DELETE FROM educacao."mat_alunoEspecifico";
DELETE FROM cabcomum.pessoa_historico WHERE idpessoa IN (SELECT id FROM cabcomum.pessoa WHERE idref_sistema = 3);
DELETE FROM cabcomum.pessoa_endereco WHERE idpessoa IN (SELECT id FROM cabcomum.pessoa WHERE idref_sistema = 3);
DELETE FROM cabcomum.pessoa_documento WHERE idpessoa IN (SELECT id FROM cabcomum.pessoa WHERE idref_sistema = 3);
DELETE FROM cabcomum.pessoa WHERE idref_sistema = 3;
-- apaga o aluno propriamente dito


--deletando registros de professores de teste
DELETE FROM educacao.mat_endereco WHERE identificacao > 121366380842 AND ("tipoIdentificacao" = 5 OR "tipoIdentificacao" = 6);
DELETE FROM educacao.mat_documentos WHERE identificador > 121366380842 AND tipoidentificador = 5;
DELETE FROM educacao."mat_professorEscola" WHERE codprofessor > 121366380842;
DELETE FROM educacao.mat_professordisciplina WHERE codprofessor > 121366380842;
DELETE FROM educacao.mat_professor WHERE codprofessor > 121366380842;

--deletando registros de todos os funcionarios do sistema
--DELETE FROM educacao."mat_funcionarioEscola";
--DELETE FROM educacao."mat_funcionarioCoordenadoria";
UPDATE educacao."mat_funcionarioEscola" SET codescola = 33508224 WHERE codescola > 33508224;
UPDATE educacao."mat_funcionarioCoordenadoria" SET codcoordenadoria = 1 WHERE codcoordenadoria > 1;

--deletando registros de escolas de teste
DELETE FROM educacao.mat_endereco where "tipoIdentificacao" = 3 and identificacao > 33508224;
DELETE FROM educacao.mat_escola where codescola > 33508224;

--deletando registros de coordenadorias de teste
DELETE FROM educacao.mat_endereco where "tipoIdentificacao" = 7 and identificacao > 1;
DELETE FROM educacao.mat_coordenadoria WHERE "codCoordenadoria" > 1;

--chamada da funcao de migracao de alunos
SELECT bdcensoeducacao.migra_alunos();