/** * ForeignKeyのSQL構築 * * @param ForeignKey $foreignKey * @return string */ private function _buildForeignKeySql(ForeignKey $key) { $sql = ''; // constraint値の判別 if ($key->getConstraint()) { $sql .= sprintf(' CONSTRAINT %s', $this->quoteColumnName($key->getConstraint())); } // foreign key値の判別 $sql .= sprintf('FOREIGN KEY (%s)', $this->quoteColumnName($key->getColumnName())); // reference値の判別 $sql .= sprintf(' REFERENCES %s (%s)', $this->quoteTableName($key->getRefTableName()), $this->quoteColumnName($key->getRefColumnName())); // delete値の判別 if ($key->getOnDelete()) { $sql .= sprintf(' ON DELETE %s', $key->getOnDelete()); } // update値の判別 if ($key->getOnUpdate()) { $sql .= sprintf(' ON UPDATE %s', $key->getOnUpdate()); } return $sql; }