public function diffChangeLogFromSchemaDiff(SchemaDiff $schemaDiff, $output = null)
    {
        $output = $this->sanitizeOutputParameter($output);

        $output->started($this->em);

        foreach ($schemaDiff->newNamespaces as $newNamespace) {
            $output->createSchema($newNamespace);
        }

        foreach ($schemaDiff->orphanedForeignKeys as $orphanedForeignKey) {
            $output->dropForeignKey($orphanedForeignKey, $orphanedForeignKey->getLocalTable());
        }

        foreach ($schemaDiff->changedSequences as $sequence) {
            $output->alterSequence($sequence);
        }

        foreach ($schemaDiff->removedSequences as $sequence) {
            $output->dropSequence($sequence);
        }

        foreach ($schemaDiff->newSequences as $sequence) {
            $output->createSequence($sequence);
        }

        foreach ($schemaDiff->newTables as $table) {
            $output->createTable($table);
            
            foreach ($table->getForeignKeys() as $foreignKey) {
                $output->createForeignKey($foreignKey, $table);
            }
        }

        foreach ($schemaDiff->removedTables as $table) {
            $output->dropTable($table);
        }

        foreach ($schemaDiff->changedTables as $tableDiff) {
            $output->alterTable($tableDiff);
        }

        $output->terminated();

        return $output->getResult();
    }
public function diffChangeLogFromSchemaDiff(SchemaDiff $schemaDiff, $output = null)
    {
        $output = $this->sanitizeOutputParameter($output);

        $output->started($this->em);

        foreach ($schemaDiff->newNamespaces as $newNamespace) {
            $output->createSchema($newNamespace);
        }

        foreach ($schemaDiff->orphanedForeignKeys as $orphanedForeignKey) {
            $output->dropForeignKey($orphanedForeignKey, $orphanedForeignKey->getLocalTable());
        }

        foreach ($schemaDiff->changedSequences as $sequence) {
            $output->alterSequence($sequence);
        }

        foreach ($schemaDiff->removedSequences as $sequence) {
            $output->dropSequence($sequence);
        }

        foreach ($schemaDiff->newSequences as $sequence) {
            $output->createSequence($sequence);
        }

        foreach ($schemaDiff->newTables as $table) {
            $output->createTable($table);
            
            foreach ($table->getForeignKeys() as $foreignKey) {
                $output->createForeignKey($foreignKey, $table);
            }
        }

        foreach ($schemaDiff->removedTables as $table) {
            $output->dropTable($table);
        }

        foreach ($schemaDiff->changedTables as $tableDiff) {
            $output->alterTable($tableDiff);
        }

        $output->terminated();

        return $output->getResult();
    }
public function diffChangeLogFromSchemaDiff ( SchemaDiff $ schemaDiff , $ output = null ) { $ output = $ this -> sanitizeOutputParameter ( $ output ) ; $ output -> started ( $ this -> em ) ; foreach ( $ schemaDiff -> newNamespaces as $ newNamespace ) { $ output -> createSchema ( $ newNamespace ) ; } foreach ( $ schemaDiff -> orphanedForeignKeys as $ orphanedForeignKey ) { $ output -> dropForeignKey ( $ orphanedForeignKey , $ orphanedForeignKey -> getLocalTable ( ) ) ; } foreach ( $ schemaDiff -> changedSequences as $ sequence ) { $ output -> alterSequence ( $ sequence ) ; } foreach ( $ schemaDiff -> removedSequences as $ sequence ) { $ output -> dropSequence ( $ sequence ) ; } foreach ( $ schemaDiff -> newSequences as $ sequence ) { $ output -> createSequence ( $ sequence ) ; } foreach ( $ schemaDiff -> newTables as $ table ) { $ output -> createTable ( $ table ) ; foreach ( $ table -> getForeignKeys ( ) as $ foreignKey ) { $ output -> createForeignKey ( $ foreignKey , $ table ) ; } } foreach ( $ schemaDiff -> removedTables as $ table ) { $ output -> dropTable ( $ table ) ; } foreach ( $ schemaDiff -> changedTables as $ tableDiff ) { $ output -> alterTable ( $ tableDiff ) ; } $ output -> terminated ( ) ; return $ output -> getResult ( ) ; }
Generate a diff changelog from SchemaDiff object.

@param SchemaDiff $schemaDiff
@param LiquibaseOutput|LiquibaseOutputOptions|null $output
@return \DOMDocument|mixed
Generate a diff changelog from SchemaDiff object .