Ejemplo n.º 1
0
 public function fillTableDiff()
 {
     $this->newTables = $this->newDatabase->getTables();
     $this->oldTables = $this->oldDatabase->getTables();
     foreach ($this->newTables as $tableName) {
         $this->newSchemes[$tableName] = $this->newDatabase->getTableInfo($tableName);
         $this->newIndex[$tableName] = $this->newDatabase->getIndexInfo($tableName);
         $this->newConstraint[$tableName] = $this->newDatabase->getForeignKeyInfo($tableName);
         if (!in_array($tableName, $this->oldTables)) {
             $this->createTables[] = $tableName;
         } else {
             $this->oldSchemes[$tableName] = $this->oldDatabase->getTableInfo($tableName);
             $this->oldIndex[$tableName] = $this->oldDatabase->getIndexInfo($tableName);
             $this->oldConstraint[$tableName] = $this->oldDatabase->getForeignKeyInfo($tableName);
             $this->schemeDiffs[$tableName] = $this->getSchemeDiff($tableName);
             $this->indexDiffs[$tableName] = $this->getIndexDiff($tableName);
             $this->constraintDiffs[$tableName] = $this->getConstraintDiff($tableName);
         }
     }
     foreach ($this->oldTables as $tableName) {
         if (!in_array($tableName, $this->newTables)) {
             $this->droppedTables[] = $tableName;
         }
     }
 }