Ejemplo n.º 1
0
 /**
  * Adds a table constraint
  *
  * @param DBConstraint $constraint constraint to add
  * @throws DuplicationException thrown when another constaint with the same name already added
  * @return DBTable itself
  */
 function addConstraint(DBConstraint $constraint)
 {
     $name = $constraint->getName();
     if ($name) {
         if (isset($this->constraints[$name])) {
             throw new DuplicationException('constraint', $name);
         }
     } else {
         $name = 'constraint_' . $this->name . '_' . (sizeof($this->constraints) + 1);
         $constraint->setName($name);
     }
     $this->constraints[$name] = $constraint;
     return $this;
 }
Ejemplo n.º 2
0
 /**
  * Adds a table constraint
  *
  * @param DBConstraint $constraint constraint to add
  * @throws DuplicationException thrown when another constaint with the same name already added
  * @return DBTable itself
  */
 function addConstraint(DBConstraint $constraint)
 {
     $name = $constraint->getName();
     if ($name) {
         if (isset($this->constraints[$name])) {
             throw new DuplicationException('constraint', $name);
         }
     } else {
         $name = 'constraint_' . join('_', $constraint->getFields()) . (sizeof($this->constraints) + 1);
         $constraint->setName($name);
     }
     $this->constraints[$name] = $constraint;
     if ($constraint instanceof DBPrimaryKeyConstraint) {
         if ($this->pk) {
             throw new DuplicationException('constraint', $name);
         }
         $this->pk = $constraint;
     }
     return $this;
 }