Code Duplication    Length = 26-28 lines in 2 locations

src/Helper/MysqlHelper.php 1 location

@@ 32-57 (lines=26) @@
29
     *
30
     * @return bool
31
     */
32
    public function createTable(TableNodeInterface $table, array $columns)
33
    {
34
        $this->log(LogLevel::DEBUG, "Creating Table {table} with columns: {columns}", [
35
            'table'   => $table->getFullName(),
36
            'columns' => implode(',', array_keys($columns)),
37
        ]);
38
39
        $columnStrings = [];
40
        $primary = [];
41
        $indexes = [];
42
43
        foreach ($columns as $column) {
44
            $columnStrings[] = $this->dialect->getColumnDefinition($column);
45
            if ($column['primary']) {
46
                $primary[] = $this->dialect->getPrimaryKeyDefinition($column);
47
            } elseif ($column['index']) {
48
                $indexes[] = $this->dialect->getIndexDefinition($column);
49
            }
50
        }
51
52
        list($sql, $params) = $this->dialect->getCreateTable($table, $columnStrings, $primary, $indexes);
53
        $db = $table->getAdapter();
54
        $db->query(trim($sql), $params);
55
56
        return true;
57
    }
58
59
    /**
60
     * @param TableNodeInterface $table

src/Helper/RedshiftHelper.php 1 location

@@ 34-61 (lines=28) @@
31
     *
32
     * @return bool
33
     */
34
    public function createTable(TableNodeInterface $table, array $columns)
35
    {
36
        $this->log(LogLevel::INFO, "Creating Table {table} with columns: {columns}", [
37
            'table'   => $table->getFullName(),
38
            'columns' => implode(',', array_keys($columns)),
39
        ]);
40
41
        $dist = [];
42
        $sorted = [];
43
        $columnStrings = [];
44
45
        foreach ($columns as $column) {
46
            if ($column['primary'] && !$dist) {
47
                $dist[] = $this->dialect->getPrimaryKeyDefinition($column);
48
            } elseif ($column['primary'] || $column['index']) {
49
                $sorted[] = $this->dialect->getIndexDefinition($column);
50
            }
51
52
            $columnStrings[] = $this->dialect->getColumnDefinition($column);
53
        }
54
55
        list ($sql, $params) = $this->dialect->getCreateTable($table, $columnStrings, $dist, $sorted);
56
57
        $db = $table->getAdapter();
58
        $db->query(trim($sql), $params);
59
60
        return true;
61
    }
62
63
    /**
64
     * @param TableNodeInterface $table