コード例 #1
0
ファイル: Conversao.php プロジェクト: rtakauti/Galileu
$resultadoTableDev = $dev->query($schemaQuery);
$resultadoTableHomolog = $homolog->query($schemaQuery);
// Lista de SEQUENCES
$sequencesDev = $dev->query($sequenceQuery);
$sequencesHomolog = $homolog->query($sequenceQuery);
// Dropar Sequences que em comparação ao Dev estejam à mais
$comparaListaSequence = array_diff($sequencesHomolog, $sequencesDev);
$arquivo->gravar("------ DROP DE SEQUENCES ------");
if (isset($comparaListaSequence)) {
    $arquivo->gravar("\nDROP SEQUENCE " . implode("\nDROP SEQUENCE ", $comparaListaSequence) . "\n\n");
}
// loop das tabelas do schema
foreach ($resultadoTableDev as $table) {
    // Lista dos CAMPOS
    $resultadoDev = $dev->queryAll($colunaQuery . "'{$table}'");
    $resultadoHomolog = $homolog->queryAll($colunaQuery . "'{$table}'");
    // Cria um arquivo com um comentario contendo a tabela analisada em questão
    $arquivo->gravar("\n\n------------- TABELA: {$table} -------------\n\n");
    //Dropar as CONSTRAINTS do Homolog que em comparação ao ambiente de desenvolvimento esta à mais
    $devConstraintArrayAssoc = $dev->queryAllAssoc($constraintQuery . "'{$table}'");
    $homologConstraintArrayAssoc = $homolog->queryAllAssoc($constraintQuery . "'{$table}'");
    $constraint = new Constraint($devConstraintArrayAssoc, $homologConstraintArrayAssoc, $table);
    $arquivo->gravar($constraint->dropConstraints() . "\n\n");
    // Dropar COLUNAS do Homolog que em comparação ao ambiente de desenvolvimento esta à mais
    $devColunaArrayAssoc = $dev->queryAllAssoc($colunaQuery . "'{$table}'");
    $homologColunaArrayAssoc = $homolog->queryAllAssoc($colunaQuery . "'{$table}'");
    $coluna = new Coluna($devColunaArrayAssoc, $homologColunaArrayAssoc, $table);
    $arquivo->gravar($coluna->dropColunas() . "\n\n");
    // Verificar se o nome da coluna da tabela Dev e Homolog são iguais e os atributos são iguais
    // não considerando a mesma posição onde se encontram
    for ($i = 0; $i < count($resultadoDev); $i++) {