Code Duplication    Length = 12-30 lines in 2 locations

src/Phinx/Db/Adapter/MysqlAdapter.php 1 location

@@ 461-472 (lines=12) @@
458
     * @param string $tableName Table Name
459
     * @return array
460
     */
461
    protected function getIndexes($tableName)
462
    {
463
        $indexes = [];
464
        $rows = $this->fetchAll(sprintf('SHOW INDEXES FROM %s', $this->quoteTableName($tableName)));
465
        foreach ($rows as $row) {
466
            if (!isset($indexes[$row['Key_name']])) {
467
                $indexes[$row['Key_name']] = ['columns' => []];
468
            }
469
            $indexes[$row['Key_name']]['columns'][] = strtolower($row['Column_name']);
470
        }
471
472
        return $indexes;
473
    }
474
475
    /**

src/Phinx/Db/Adapter/PostgresAdapter.php 1 location

@@ 526-555 (lines=30) @@
523
     * @param string $tableName Table Name
524
     * @return array
525
     */
526
    protected function getIndexes($tableName)
527
    {
528
        $indexes = [];
529
        $sql = "SELECT
530
            i.relname AS index_name,
531
            a.attname AS column_name
532
        FROM
533
            pg_class t,
534
            pg_class i,
535
            pg_index ix,
536
            pg_attribute a
537
        WHERE
538
            t.oid = ix.indrelid
539
            AND i.oid = ix.indexrelid
540
            AND a.attrelid = t.oid
541
            AND a.attnum = ANY(ix.indkey)
542
            AND t.relkind = 'r'
543
            AND t.relname = '$tableName'
544
        ORDER BY
545
            t.relname,
546
            i.relname;";
547
        $rows = $this->fetchAll($sql);
548
        foreach ($rows as $row) {
549
            if (!isset($indexes[$row['index_name']])) {
550
                $indexes[$row['index_name']] = ['columns' => []];
551
            }
552
            $indexes[$row['index_name']]['columns'][] = strtolower($row['column_name']);
553
        }
554
555
        return $indexes;
556
    }
557
558
    /**