|
@@ 224-242 (lines=19) @@
|
| 221 |
|
self::assertEquals(array(), $c->diffColumn($column1, $column1)); |
| 222 |
|
} |
| 223 |
|
|
| 224 |
|
public function testCompareChangeColumns_MultipleNewColumnsRename() |
| 225 |
|
{ |
| 226 |
|
$tableA = new Table("foo"); |
| 227 |
|
$tableA->addColumn('datefield1', 'datetime'); |
| 228 |
|
|
| 229 |
|
$tableB = new Table("foo"); |
| 230 |
|
$tableB->addColumn('new_datefield1', 'datetime'); |
| 231 |
|
$tableB->addColumn('new_datefield2', 'datetime'); |
| 232 |
|
|
| 233 |
|
$c = new Comparator(); |
| 234 |
|
$tableDiff = $c->diffTable($tableA, $tableB); |
| 235 |
|
|
| 236 |
|
self::assertCount(1, $tableDiff->renamedColumns, "we should have one rename datefield1 => new_datefield1."); |
| 237 |
|
self::assertArrayHasKey('datefield1', $tableDiff->renamedColumns, "'datefield1' should be set to be renamed to new_datefield1"); |
| 238 |
|
self::assertCount(1, $tableDiff->addedColumns, "'new_datefield2' should be added"); |
| 239 |
|
self::assertArrayHasKey('new_datefield2', $tableDiff->addedColumns, "'new_datefield2' should be added, not created through renaming!"); |
| 240 |
|
self::assertCount(0, $tableDiff->removedColumns, "Nothing should be removed."); |
| 241 |
|
self::assertCount(0, $tableDiff->changedColumns, "Nothing should be changed as all fields old & new have diff names."); |
| 242 |
|
} |
| 243 |
|
|
| 244 |
|
public function testCompareRemovedIndex() |
| 245 |
|
{ |
|
@@ 716-734 (lines=19) @@
|
| 713 |
|
* |
| 714 |
|
* @group DBAL-24 |
| 715 |
|
*/ |
| 716 |
|
public function testDetectRenameColumnAmbiguous() |
| 717 |
|
{ |
| 718 |
|
$tableA = new Table("foo"); |
| 719 |
|
$tableA->addColumn('foo', 'integer'); |
| 720 |
|
$tableA->addColumn('bar', 'integer'); |
| 721 |
|
|
| 722 |
|
$tableB = new Table("foo"); |
| 723 |
|
$tableB->addColumn('baz', 'integer'); |
| 724 |
|
|
| 725 |
|
$c = new Comparator(); |
| 726 |
|
$tableDiff = $c->diffTable($tableA, $tableB); |
| 727 |
|
|
| 728 |
|
self::assertCount(1, $tableDiff->addedColumns, "'baz' should be added, not created through renaming!"); |
| 729 |
|
self::assertArrayHasKey('baz', $tableDiff->addedColumns, "'baz' should be added, not created through renaming!"); |
| 730 |
|
self::assertCount(2, $tableDiff->removedColumns, "'foo' and 'bar' should both be dropped, an ambiguity exists which one could be renamed to 'baz'."); |
| 731 |
|
self::assertArrayHasKey('foo', $tableDiff->removedColumns, "'foo' should be removed."); |
| 732 |
|
self::assertArrayHasKey('bar', $tableDiff->removedColumns, "'bar' should be removed."); |
| 733 |
|
self::assertCount(0, $tableDiff->renamedColumns, "no renamings should take place."); |
| 734 |
|
} |
| 735 |
|
|
| 736 |
|
/** |
| 737 |
|
* @group DBAL-1063 |