| @@ 372-435 (lines=64) @@ | ||
| 369 | self::assertEquals($expected, Comparator::compareSchemas($schema1, $schema2)); |
|
| 370 | } |
|
| 371 | ||
| 372 | public function testCompareChangedIndex() |
|
| 373 | { |
|
| 374 | $schema1 = new Schema(array( |
|
| 375 | 'bugdb' => new Table( |
|
| 376 | 'bugdb', |
|
| 377 | array ( |
|
| 378 | 'integerfield1' => new Column('integerfield1', Type::getType('integer')), |
|
| 379 | 'integerfield2' => new Column('integerfield2', Type::getType('integer')), |
|
| 380 | ), |
|
| 381 | array ( |
|
| 382 | 'primary' => new Index( |
|
| 383 | 'primary', |
|
| 384 | array( |
|
| 385 | 'integerfield1' |
|
| 386 | ), |
|
| 387 | true |
|
| 388 | ) |
|
| 389 | ) |
|
| 390 | ), |
|
| 391 | )); |
|
| 392 | $schema2 = new Schema(array( |
|
| 393 | 'bugdb' => new Table( |
|
| 394 | 'bugdb', |
|
| 395 | array ( |
|
| 396 | 'integerfield1' => new Column('integerfield1', Type::getType('integer')), |
|
| 397 | 'integerfield2' => new Column('integerfield2', Type::getType('integer')), |
|
| 398 | ), |
|
| 399 | array ( |
|
| 400 | 'primary' => new Index( |
|
| 401 | 'primary', |
|
| 402 | array('integerfield1', 'integerfield2'), |
|
| 403 | true |
|
| 404 | ) |
|
| 405 | ) |
|
| 406 | ), |
|
| 407 | )); |
|
| 408 | ||
| 409 | $expected = new SchemaDiff( |
|
| 410 | array(), |
|
| 411 | array ( |
|
| 412 | 'bugdb' => new TableDiff( |
|
| 413 | 'bugdb', |
|
| 414 | array(), |
|
| 415 | array(), |
|
| 416 | array(), |
|
| 417 | array(), |
|
| 418 | array ( |
|
| 419 | 'primary' => new Index( |
|
| 420 | 'primary', |
|
| 421 | array( |
|
| 422 | 'integerfield1', |
|
| 423 | 'integerfield2' |
|
| 424 | ), |
|
| 425 | true |
|
| 426 | ) |
|
| 427 | ) |
|
| 428 | ), |
|
| 429 | ) |
|
| 430 | ); |
|
| 431 | $expected->fromSchema = $schema1; |
|
| 432 | $expected->changedTables['bugdb']->fromTable = $schema1->getTable('bugdb'); |
|
| 433 | ||
| 434 | self::assertEquals($expected, Comparator::compareSchemas($schema1, $schema2)); |
|
| 435 | } |
|
| 436 | ||
| 437 | public function testCompareChangedIndexFieldPositions() |
|
| 438 | { |
|
| @@ 437-483 (lines=47) @@ | ||
| 434 | self::assertEquals($expected, Comparator::compareSchemas($schema1, $schema2)); |
|
| 435 | } |
|
| 436 | ||
| 437 | public function testCompareChangedIndexFieldPositions() |
|
| 438 | { |
|
| 439 | $schema1 = new Schema(array( |
|
| 440 | 'bugdb' => new Table( |
|
| 441 | 'bugdb', |
|
| 442 | array ( |
|
| 443 | 'integerfield1' => new Column('integerfield1', Type::getType('integer')), |
|
| 444 | 'integerfield2' => new Column('integerfield2', Type::getType('integer')), |
|
| 445 | ), |
|
| 446 | array ( |
|
| 447 | 'primary' => new Index('primary', array('integerfield1', 'integerfield2'), true) |
|
| 448 | ) |
|
| 449 | ), |
|
| 450 | )); |
|
| 451 | $schema2 = new Schema(array( |
|
| 452 | 'bugdb' => new Table( |
|
| 453 | 'bugdb', |
|
| 454 | array ( |
|
| 455 | 'integerfield1' => new Column('integerfield1', Type::getType('integer')), |
|
| 456 | 'integerfield2' => new Column('integerfield2', Type::getType('integer')), |
|
| 457 | ), |
|
| 458 | array ( |
|
| 459 | 'primary' => new Index('primary', array('integerfield2', 'integerfield1'), true) |
|
| 460 | ) |
|
| 461 | ), |
|
| 462 | )); |
|
| 463 | ||
| 464 | $expected = new SchemaDiff( |
|
| 465 | array(), |
|
| 466 | array ( |
|
| 467 | 'bugdb' => new TableDiff( |
|
| 468 | 'bugdb', |
|
| 469 | array(), |
|
| 470 | array(), |
|
| 471 | array(), |
|
| 472 | array(), |
|
| 473 | array ( |
|
| 474 | 'primary' => new Index('primary', array('integerfield2', 'integerfield1'), true) |
|
| 475 | ) |
|
| 476 | ), |
|
| 477 | ) |
|
| 478 | ); |
|
| 479 | $expected->fromSchema = $schema1; |
|
| 480 | $expected->changedTables['bugdb']->fromTable = $schema1->getTable('bugdb'); |
|
| 481 | ||
| 482 | self::assertEquals($expected, Comparator::compareSchemas($schema1, $schema2)); |
|
| 483 | } |
|
| 484 | ||
| 485 | public function testCompareSequences() |
|
| 486 | { |
|