Beispiel #1
0
 /**
  * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $key1
  * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $key2
  *
  * @return boolean
  */
 public function diffForeignKey(ForeignKeyConstraint $key1, ForeignKeyConstraint $key2)
 {
     if (array_map('strtolower', $key1->getUnquotedLocalColumns()) != array_map('strtolower', $key2->getUnquotedLocalColumns())) {
         return true;
     }
     if (array_map('strtolower', $key1->getUnquotedForeignColumns()) != array_map('strtolower', $key2->getUnquotedForeignColumns())) {
         return true;
     }
     if ($key1->getUnqualifiedForeignTableName() !== $key2->getUnqualifiedForeignTableName()) {
         return true;
     }
     if ($key1->onUpdate() != $key2->onUpdate()) {
         return true;
     }
     if ($key1->onDelete() != $key2->onDelete()) {
         return true;
     }
     return false;
 }
Beispiel #2
0
 /**
  * Add a message for a foreign key change.
  *
  * @param string               $tableName
  * @param ForeignKeyConstraint $index
  * @param string               $format
  */
 private function addForeignKeysMessage($tableName, ForeignKeyConstraint $foreignKey, $format)
 {
     $this->addMessage($tableName, sprintf($format, implode(', ', $foreignKey->getUnquotedLocalColumns()), $foreignKey->getForeignTableName(), implode(', ' . $foreignKey->getForeignTableName() . '.', $foreignKey->getUnquotedForeignColumns())));
 }