Example #1
0
 protected function addPrimaryKey(Table $table)
 {
     $queries = [];
     $primaryColumns = $table->getPrimaryColumns();
     if (!empty($primaryColumns)) {
         $queries[] = 'ALTER TABLE ' . $this->escapeString($table->getName()) . ' ADD ' . $this->primaryKeyString($table) . ';';
     }
     return $queries;
 }
Example #2
0
 public function testMultiPrimaryKey()
 {
     $table = new Table('test');
     $this->assertInstanceOf('\\Phoenix\\Database\\Element\\Table', $table->addColumn(new Column('identifier1', 'string')));
     $this->assertInstanceOf('\\Phoenix\\Database\\Element\\Table', $table->addColumn(new Column('identifier2', 'string')));
     $table->addPrimary(['identifier1', 'identifier2']);
     $columns = $table->getColumns();
     $this->assertCount(2, $columns);
     foreach ($columns as $column) {
         $this->assertInstanceOf('\\Phoenix\\Database\\Element\\Column', $column);
     }
     $this->assertCount(2, $table->getPrimaryColumns());
 }
Example #3
0
 protected function primaryKeyString(Table $table)
 {
     $primaryKeys = [];
     foreach ($table->getPrimaryColumns() as $name) {
         $column = $table->getColumn($name);
         if (!$column->isAutoincrement()) {
             $primaryKeys[] = $this->escapeString($column->getName());
         }
     }
     if (empty($primaryKeys)) {
         return '';
     }
     return 'PRIMARY KEY (' . implode(',', $primaryKeys) . ')';
 }
Example #4
0
 protected function primaryKeyString(Table $table)
 {
     $primaryKeys = $this->escapeArray($table->getPrimaryColumns());
     return 'PRIMARY KEY (' . implode(',', $primaryKeys) . ')';
 }
Example #5
0
 protected function primaryKeyString(Table $table)
 {
     $primaryKeys = [];
     foreach ($table->getPrimaryColumns() as $name) {
         $primaryKeys[] = $this->escapeString($name);
     }
     return 'CONSTRAINT ' . $this->escapeString($table->getName() . '_pkey') . ' PRIMARY KEY (' . implode(',', $primaryKeys) . ')';
 }