function diff(Am_DbSync_Diff $diff, Am_DbSync_Field $oldField) { if ($oldField->getAttribs() != $this->getAttribs()) { $diff->addAlter($this); } }
/** * @param Am_DbSyncTable $compareTo * @return array of differences */ function diff(Am_DbSync_Diff $diff, Am_DbSync_Table $compareTo) { if ($this->getEngine() && $this->getEngine() != $compareTo->getEngine()) { $diff->addAlter($this); } $diff->compareArrays($this->getFields(), $compareTo->getFields()); $diff->compareArrays($this->getIndexes(), $compareTo->getIndexes()); foreach ($this->dropFields as $fieldName) { if ($compareTo->getField($fieldName)) { $diff->addDropConfirmed(new Am_DbSync_Field($fieldName, $this)); } } foreach ($this->dropIndexes as $indexName) { if ($compareTo->getIndex($indexName)) { $diff->addDropConfirmed(new Am_DbSync_Index($indexName, $this)); } } }