Code Duplication    Length = 17-17 lines in 2 locations

lib/Doctrine/DBAL/Platforms/MySqlPlatform.php 2 locations

@@ 723-739 (lines=17) @@
720
        $tableName = $diff->getName($this)->getQuotedName($this);
721
722
        // Dropping primary keys requires to unset autoincrement attribute on the particular column first.
723
        foreach ($index->getColumns() as $columnName) {
724
            if (! $diff->fromTable->hasColumn($columnName)) {
725
                continue;
726
            }
727
728
            $column = $diff->fromTable->getColumn($columnName);
729
730
            if ($column->getAutoincrement() === true) {
731
                $column->setAutoincrement(false);
732
733
                $sql[] = 'ALTER TABLE ' . $tableName . ' MODIFY ' .
734
                    $this->getColumnDeclarationSQL($column->getQuotedName($this), $column->toArray());
735
736
                // original autoincrement information might be needed later on by other parts of the table alteration
737
                $column->setAutoincrement(true);
738
            }
739
        }
740
741
        return $sql;
742
    }
@@ 757-773 (lines=17) @@
754
        foreach ($diff->changedIndexes as $changedIndex) {
755
            // Changed primary key
756
            if ($changedIndex->isPrimary() && $diff->fromTable instanceof Table) {
757
                foreach ($diff->fromTable->getPrimaryKeyColumns() as $columnName) {
758
                    $column = $diff->fromTable->getColumn($columnName);
759
760
                    // Check if an autoincrement column was dropped from the primary key.
761
                    if ($column->getAutoincrement() && ! in_array($columnName, $changedIndex->getColumns())) {
762
                        // The autoincrement attribute needs to be removed from the dropped column
763
                        // before we can drop and recreate the primary key.
764
                        $column->setAutoincrement(false);
765
766
                        $sql[] = 'ALTER TABLE ' . $table . ' MODIFY ' .
767
                            $this->getColumnDeclarationSQL($column->getQuotedName($this), $column->toArray());
768
769
                        // Restore the autoincrement attribute as it might be needed later on
770
                        // by other parts of the table alteration.
771
                        $column->setAutoincrement(true);
772
                    }
773
                }
774
            }
775
        }
776