Code Duplication    Length = 28-29 lines in 2 locations

source/Spiral/Database/Schemas/AbstractTable.php 2 locations

@@ 660-688 (lines=29) @@
657
     *
658
     * @return self
659
     */
660
    protected function synchroniseIndexes(): AbstractTable
661
    {
662
        foreach ($this->comparator->addedIndexes() as $index) {
663
            $this->logger()->debug('Adding index [{statement}] into table {table}.', [
664
                'statement' => $index->sqlStatement(),
665
                'table'     => $this->getName(true),
666
            ]);
667
668
            $this->commander->addIndex($this, $index);
669
        }
670
671
        foreach ($this->comparator->alteredIndexes() as $pair) {
672
            /**
673
             * @var AbstractIndex $initial
674
             * @var AbstractIndex $current
675
             */
676
            list($current, $initial) = $pair;
677
678
            $this->logger()->debug('Altering index [{statement}] to [{new}] in table {table}.', [
679
                'statement' => $initial->sqlStatement(),
680
                'new'       => $current->sqlStatement(),
681
                'table'     => $this->getName(true),
682
            ]);
683
684
            $this->commander->alterIndex($this, $initial, $current);
685
        }
686
687
        return $this;
688
    }
689
690
    /**
691
     * Drop needed foreign keys.
@@ 714-741 (lines=28) @@
711
     *
712
     * @return self
713
     */
714
    protected function synchroniseForeigns(): AbstractTable
715
    {
716
        foreach ($this->comparator->addedForeigns() as $foreign) {
717
            $this->logger()->debug('Adding foreign key [{statement}] into table {table}.', [
718
                'statement' => $foreign->sqlStatement(),
719
                'table'     => $this->getName(true),
720
            ]);
721
722
            $this->commander->addForeign($this, $foreign);
723
        }
724
725
        foreach ($this->comparator->alteredForeigns() as $pair) {
726
            /**
727
             * @var AbstractReference $initial
728
             * @var AbstractReference $current
729
             */
730
            list($current, $initial) = $pair;
731
732
            $this->logger()->debug('Altering foreign key [{statement}] to [{new}] in {table}.', [
733
                'statement' => $initial->sqlStatement(),
734
                'table'     => $this->getName(true),
735
            ]);
736
737
            $this->commander->alterForeign($this, $initial, $current);
738
        }
739
740
        return $this;
741
    }
742
743
    /**
744
     * Driver specific column schema.