Example #1
0
 /**
  * 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;
 }