diff options
author | PayBas <contact@paybas.com> | 2014-05-18 15:55:28 +0200 |
---|---|---|
committer | PayBas <contact@paybas.com> | 2014-05-19 12:04:47 +0200 |
commit | 9ddf02243e37adb27984ef34e208943a413266b8 (patch) | |
tree | 1545d0108869d75be6d9f3a7b9c56e828ae5f596 /phpBB/phpbb | |
parent | a2cd9c2464b2f83ec005831955d2f027c9c0210a (diff) | |
download | forums-9ddf02243e37adb27984ef34e208943a413266b8.tar forums-9ddf02243e37adb27984ef34e208943a413266b8.tar.gz forums-9ddf02243e37adb27984ef34e208943a413266b8.tar.bz2 forums-9ddf02243e37adb27984ef34e208943a413266b8.tar.xz forums-9ddf02243e37adb27984ef34e208943a413266b8.zip |
[ticket/12561] Add "after" check to schema_generator for columns_add
PHPBB3-12561
Diffstat (limited to 'phpBB/phpbb')
-rw-r--r-- | phpBB/phpbb/db/migration/schema_generator.php | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/phpBB/phpbb/db/migration/schema_generator.php b/phpBB/phpbb/db/migration/schema_generator.php index 5d40b0b26f..872430e078 100644 --- a/phpBB/phpbb/db/migration/schema_generator.php +++ b/phpBB/phpbb/db/migration/schema_generator.php @@ -107,7 +107,17 @@ class schema_generator { foreach ($add_columns as $column => $column_data) { - $this->tables[$table]['COLUMNS'][$column] = $column_data; + if (isset($column_data['after'])) + { + $columns = $this->tables[$table]['COLUMNS']; + $offset = array_search($column_data['after'], array_keys($columns)); + unset($column_data['after']); + $this->tables[$table]['COLUMNS'] = array_merge(array_slice($columns, 0, $offset + 1, true), array($column => array_values($column_data)), array_slice($columns, $offset)); + } + else + { + $this->tables[$table]['COLUMNS'][$column] = $column_data; + } } } } |