Esempio n. 1
0
 protected function dropColumns(Table $table)
 {
     $query = 'ALTER TABLE ' . $this->escapeString($table->getName()) . ' ';
     $columns = [];
     foreach ($table->getColumnsToDrop() as $column) {
         $columns[] = 'DROP COLUMN ' . $this->escapeString($column);
     }
     $query .= implode(',', $columns) . ';';
     return $query;
 }
Esempio n. 2
0
 public function testColumns()
 {
     $table = new Table('test');
     $table->addPrimary(true);
     $this->assertInstanceOf('\\Phoenix\\Database\\Element\\Table', $table->addColumn(new Column('title', 'string')));
     $this->assertInstanceOf('\\Phoenix\\Database\\Element\\Table', $table->addColumn(new Column('total', 'int')));
     $this->assertCount(3, $table->getColumns());
     $this->assertInstanceOf('\\Phoenix\\Database\\Element\\Table', $table->changeColumn('title', new Column('new_title', 'string')));
     $this->assertCount(3, $table->getColumns());
     $this->assertCount(0, $table->getColumnsToChange());
     $this->assertInstanceOf('\\Phoenix\\Database\\Element\\Table', $table->changeColumn('alias', new Column('new_alias', 'string')));
     $this->assertCount(3, $table->getColumns());
     $this->assertCount(1, $table->getColumnsToChange());
     $this->assertCount(0, $table->getColumnsToDrop());
     $this->assertInstanceOf('\\Phoenix\\Database\\Element\\Table', $table->dropColumn('title'));
     $this->assertCount(3, $table->getColumns());
     $this->assertCount(1, $table->getColumnsToDrop());
 }