@@ 390-412 (lines=23) @@ | ||
387 | /** |
|
388 | * @group DBAL-2302 |
|
389 | */ |
|
390 | public function testDropNonAutoincrementColumnFromCompositePrimaryKeyWithAutoincrementColumn() |
|
391 | { |
|
392 | $table = new Table("tbl"); |
|
393 | $table->addColumn('id', 'integer', array('autoincrement' => true)); |
|
394 | $table->addColumn('foo', 'integer'); |
|
395 | $table->addColumn('bar', 'integer'); |
|
396 | $table->setPrimaryKey(array('id', 'foo')); |
|
397 | ||
398 | $comparator = new Comparator(); |
|
399 | $diffTable = clone $table; |
|
400 | ||
401 | $diffTable->dropPrimaryKey(); |
|
402 | $diffTable->setPrimaryKey(array('id')); |
|
403 | ||
404 | self::assertSame( |
|
405 | array( |
|
406 | 'ALTER TABLE tbl MODIFY id INT NOT NULL', |
|
407 | 'ALTER TABLE tbl DROP PRIMARY KEY', |
|
408 | 'ALTER TABLE tbl ADD PRIMARY KEY (id)', |
|
409 | ), |
|
410 | $this->_platform->getAlterTableSQL($comparator->diffTable($table, $diffTable)) |
|
411 | ); |
|
412 | } |
|
413 | ||
414 | /** |
|
415 | * @group DBAL-2302 |
|
@@ 417-439 (lines=23) @@ | ||
414 | /** |
|
415 | * @group DBAL-2302 |
|
416 | */ |
|
417 | public function testAddNonAutoincrementColumnToPrimaryKeyWithAutoincrementColumn() |
|
418 | { |
|
419 | $table = new Table("tbl"); |
|
420 | $table->addColumn('id', 'integer', array('autoincrement' => true)); |
|
421 | $table->addColumn('foo', 'integer'); |
|
422 | $table->addColumn('bar', 'integer'); |
|
423 | $table->setPrimaryKey(array('id')); |
|
424 | ||
425 | $comparator = new Comparator(); |
|
426 | $diffTable = clone $table; |
|
427 | ||
428 | $diffTable->dropPrimaryKey(); |
|
429 | $diffTable->setPrimaryKey(array('id', 'foo')); |
|
430 | ||
431 | self::assertSame( |
|
432 | array( |
|
433 | 'ALTER TABLE tbl MODIFY id INT NOT NULL', |
|
434 | 'ALTER TABLE tbl DROP PRIMARY KEY', |
|
435 | 'ALTER TABLE tbl ADD PRIMARY KEY (id, foo)', |
|
436 | ), |
|
437 | $this->_platform->getAlterTableSQL($comparator->diffTable($table, $diffTable)) |
|
438 | ); |
|
439 | } |
|
440 | ||
441 | /** |
|
442 | * @group DBAL-586 |
|
@@ 477-499 (lines=23) @@ | ||
474 | ), $sql); |
|
475 | } |
|
476 | ||
477 | public function testAlterPrimaryKeyWithNewColumn() |
|
478 | { |
|
479 | $table = new Table("yolo"); |
|
480 | $table->addColumn('pkc1', 'integer'); |
|
481 | $table->addColumn('col_a', 'integer'); |
|
482 | $table->setPrimaryKey(array('pkc1')); |
|
483 | ||
484 | $comparator = new Comparator(); |
|
485 | $diffTable = clone $table; |
|
486 | ||
487 | $diffTable->addColumn('pkc2', 'integer'); |
|
488 | $diffTable->dropPrimaryKey(); |
|
489 | $diffTable->setPrimaryKey(array('pkc1', 'pkc2')); |
|
490 | ||
491 | self::assertSame( |
|
492 | array( |
|
493 | 'ALTER TABLE yolo DROP PRIMARY KEY', |
|
494 | 'ALTER TABLE yolo ADD pkc2 INT NOT NULL', |
|
495 | 'ALTER TABLE yolo ADD PRIMARY KEY (pkc1, pkc2)', |
|
496 | ), |
|
497 | $this->_platform->getAlterTableSQL($comparator->diffTable($table, $diffTable)) |
|
498 | ); |
|
499 | } |
|
500 | ||
501 | public function testInitializesDoctrineTypeMappings() |
|
502 | { |