Code Duplication    Length = 27-27 lines in 2 locations

src/Migration/MigrationManager.php 2 locations

@@ 93-119 (lines=27) @@
90
        return $this->knownVersions;
91
    }
92
93
    private function up($data, $targetVersion)
94
    {
95
        while (version_compare($data->version, $targetVersion, '<')) {
96
            if (!isset($this->migrationsBySourceVersion[$data->version])) {
97
                throw new MigrationException(sprintf(
98
                    'No migration found to upgrade from version %s to %s.',
99
                    $data->version,
100
                    $targetVersion
101
                ));
102
            }
103
104
            $migration = $this->migrationsBySourceVersion[$data->version];
105
106
            // Final version too high
107
            if (version_compare($migration->getTargetVersion(), $targetVersion, '>')) {
108
                throw new MigrationException(sprintf(
109
                    'No migration found to upgrade from version %s to %s.',
110
                    $data->version,
111
                    $targetVersion
112
                ));
113
            }
114
115
            $migration->up($data);
116
117
            $data->version = $migration->getTargetVersion();
118
        }
119
    }
120
121
    private function down($data, $targetVersion)
122
    {
@@ 121-147 (lines=27) @@
118
        }
119
    }
120
121
    private function down($data, $targetVersion)
122
    {
123
        while (version_compare($data->version, $targetVersion, '>')) {
124
            if (!isset($this->migrationsByTargetVersion[$data->version])) {
125
                throw new MigrationException(sprintf(
126
                    'No migration found to downgrade from version %s to %s.',
127
                    $data->version,
128
                    $targetVersion
129
                ));
130
            }
131
132
            $migration = $this->migrationsByTargetVersion[$data->version];
133
134
            // Final version too low
135
            if (version_compare($migration->getSourceVersion(), $targetVersion, '<')) {
136
                throw new MigrationException(sprintf(
137
                    'No migration found to downgrade from version %s to %s.',
138
                    $data->version,
139
                    $targetVersion
140
                ));
141
            }
142
143
            $migration->down($data);
144
145
            $data->version = $migration->getSourceVersion();
146
        }
147
    }
148
}
149