Example #1
0
 /**
  * Compute and return the difference between two database objects
  *
  * @param Database $fromDatabase
  * @param Database $toDatabase
  * @param  boolean $caseInsensitive Whether the comparison is case insensitive.
  *                                  False by default.
  *
  * @return DatabaseDiff|boolean return false if the two databases are similar
  */
 public static function computeDiff(Database $fromDatabase, Database $toDatabase, $caseInsensitive = false)
 {
     $dc = new self();
     $dc->setFromDatabase($fromDatabase);
     $dc->setToDatabase($toDatabase);
     $differences = 0;
     $differences += $dc->compareTables($caseInsensitive);
     return $differences > 0 ? $dc->getDatabaseDiff() : false;
 }
Example #2
0
 /**
  * Returns the computed difference between two database objects.
  *
  * @param  Database             $fromDatabase
  * @param  Database             $toDatabase
  * @param  boolean              $caseInsensitive
  * @return DatabaseDiff|Boolean
  */
 public static function computeDiff(Database $fromDatabase, Database $toDatabase, $caseInsensitive = false, $withRenaming = false, $removeTable = true, $excludedTables = [])
 {
     $databaseComparator = new self();
     $databaseComparator->setFromDatabase($fromDatabase);
     $databaseComparator->setToDatabase($toDatabase);
     $databaseComparator->setWithRenaming($withRenaming);
     $databaseComparator->setRemoveTable($removeTable);
     $databaseComparator->setExcludedTables($excludedTables);
     $platform = $toDatabase->getPlatform() ?: $fromDatabase->getPlatform();
     if ($platform) {
         foreach ($fromDatabase->getTables() as $table) {
             $platform->normalizeTable($table);
         }
         foreach ($toDatabase->getTables() as $table) {
             $platform->normalizeTable($table);
         }
     }
     $differences = 0;
     $differences += $databaseComparator->compareTables($caseInsensitive);
     return $differences > 0 ? $databaseComparator->getDatabaseDiff() : false;
 }