Esempio n. 1
0
 /**
  * Adds a unique constraint to the table to enforce uniqueness of the slug_column
  *
  * @param Table $table
  */
 protected function addUniqueConstraint(Table $table)
 {
     $unique = new Unique($this->getColumnForParameter('slug_column'));
     $unique->setName($table->getCommonName() . '_slug');
     $unique->addColumn($table->getColumn($this->getParameter('slug_column')));
     if ($this->getParameter('scope_column')) {
         $unique->addColumn($table->getColumn($this->getParameter('scope_column')));
     }
     $table->addUnique($unique);
 }
Esempio n. 2
0
 /**
  * Add the slug_column to the current table
  */
 public function modifyTable()
 {
     if (!$this->getTable()->containsColumn($this->getParameter('slug_column'))) {
         $this->getTable()->addColumn(array('name' => $this->getParameter('slug_column'), 'type' => 'VARCHAR', 'size' => 255));
         // add a unique to column
         $unique = new Unique($this->getColumnForParameter('slug_column'));
         $unique->setName($this->getTable()->getCommonName() . '_slug');
         $unique->addColumn($this->getTable()->getColumn($this->getParameter('slug_column')));
         $this->getTable()->addUnique($unique);
     }
 }
Esempio n. 3
0
 /**
  * Add the slug_column to the current table
  */
 public function modifyTable()
 {
     $table = $this->getTable();
     if (!$table->hasColumn($this->getParameter('slug_column'))) {
         $table->addColumn(array('name' => $this->getParameter('slug_column'), 'type' => 'VARCHAR', 'size' => 255, 'required' => false));
         // add a unique to column
         $unique = new Unique($this->getColumnForParameter('slug_column'));
         $unique->setName($table->getCommonName() . '_slug');
         $unique->addColumn($table->getColumn($this->getParameter('slug_column')));
         if ($this->getParameter('scope_column')) {
             $unique->addColumn($table->getColumn($this->getParameter('scope_column')));
         }
         $table->addUnique($unique);
     }
 }