[ticket/12561] Add "after" check to schema_generator for columns_add

PHPBB3-12561
This commit is contained in:
PayBas 2014-05-18 15:55:28 +02:00
parent a2cd9c2464
commit 9ddf02243e

View file

@ -106,11 +106,21 @@ class schema_generator
foreach ($data as $table => $add_columns) foreach ($data as $table => $add_columns)
{ {
foreach ($add_columns as $column => $column_data) foreach ($add_columns as $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; $this->tables[$table]['COLUMNS'][$column] = $column_data;
} }
} }
} }
}
else if ($change_type === 'change_columns') else if ($change_type === 'change_columns')
{ {
foreach ($data as $table => $change_columns) foreach ($data as $table => $change_columns)