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; } } }