Merge remote-tracking branch 'Marc/ticket/12170' into develop

* Marc/ticket/12170:
  [ticket/12170] Test for 12170
  [ticket/12170] Assign schema keys in migration helper with data_depth 1
This commit is contained in:
Joas Schilling 2014-02-10 14:23:09 +01:00
commit b088bf864b
4 changed files with 48 additions and 5 deletions

View file

@ -53,7 +53,7 @@ class helper
$steps[] = array( $steps[] = array(
'dbtools.perform_schema_changes', array(array( 'dbtools.perform_schema_changes', array(array(
$change_type => array( $change_type => array(
$value, (!is_int($key)) ? $key : 0 => $value,
), ),
)), )),
); );

View file

@ -17,6 +17,14 @@ class phpbb_dbal_migration_schema extends \phpbb\db\migration\migration
'test_column1' => array('BOOL', 1), 'test_column1' => array('BOOL', 1),
), ),
), ),
'add_tables' => array(
$this->table_prefix . 'foobar' => array(
'COLUMNS' => array(
'module_id' => array('UINT:3', NULL, 'auto_increment'),
),
'PRIMARY_KEY' => 'module_id',
),
),
); );
} }
@ -28,6 +36,9 @@ class phpbb_dbal_migration_schema extends \phpbb\db\migration\migration
'test_column1', 'test_column1',
), ),
), ),
'drop_tables' => array(
$this->table_prefix . 'foobar',
),
); );
} }
} }

View file

@ -280,6 +280,7 @@ class phpbb_dbal_migrator_test extends phpbb_database_test_case
} }
$this->assertTrue($this->db_tools->sql_column_exists('phpbb_config', 'test_column1')); $this->assertTrue($this->db_tools->sql_column_exists('phpbb_config', 'test_column1'));
$this->assertTrue($this->db_tools->sql_table_exists('phpbb_foobar'));
while ($this->migrator->migration_state('phpbb_dbal_migration_schema')) while ($this->migrator->migration_state('phpbb_dbal_migration_schema'))
{ {
@ -287,5 +288,6 @@ class phpbb_dbal_migrator_test extends phpbb_database_test_case
} }
$this->assertFalse($this->db_tools->sql_column_exists('phpbb_config', 'test_column1')); $this->assertFalse($this->db_tools->sql_column_exists('phpbb_config', 'test_column1'));
$this->assertFalse($this->db_tools->sql_table_exists('phpbb_foobar'));
} }
} }

View file

@ -21,7 +21,22 @@ class get_schema_steps_test extends phpbb_test_case
return array( return array(
array( array(
array( array(
'add_tables' => array('table1', 'table2', 'table3'), 'add_tables' => array(
'foo' => array(
'COLUMNS' => array(
'foobar' => array('BOOL', 0),
'foobar2' => array('BOOL', 0),
),
'PRIMARY_KEY' => array('foobar'),
),
'bar' => array(
'COLUMNS' => array(
'barfoo' => array('BOOL', 0),
'barfoor2' => array('BOOL', 0),
),
'PRIMARY_KEY' => array('barfoo'),
),
),
'drop_tables' => array('table1', 'table2', 'table3'), 'drop_tables' => array('table1', 'table2', 'table3'),
'add_index' => array( 'add_index' => array(
'table1' => array( 'table1' => array(
@ -73,9 +88,24 @@ class get_schema_steps_test extends phpbb_test_case
array('dbtools.perform_schema_changes', array(array('drop_tables' => array('table1')))), array('dbtools.perform_schema_changes', array(array('drop_tables' => array('table1')))),
array('dbtools.perform_schema_changes', array(array('drop_tables' => array('table2')))), array('dbtools.perform_schema_changes', array(array('drop_tables' => array('table2')))),
array('dbtools.perform_schema_changes', array(array('drop_tables' => array('table3')))), array('dbtools.perform_schema_changes', array(array('drop_tables' => array('table3')))),
array('dbtools.perform_schema_changes', array(array('add_tables' => array('table1')))), array('dbtools.perform_schema_changes', array(array('add_tables' => array(
array('dbtools.perform_schema_changes', array(array('add_tables' => array('table2')))), 'foo' => array(
array('dbtools.perform_schema_changes', array(array('add_tables' => array('table3')))), 'COLUMNS' => array(
'foobar' => array('BOOL', 0),
'foobar2' => array('BOOL', 0),
),
'PRIMARY_KEY' => array('foobar'),
),
)))),
array('dbtools.perform_schema_changes', array(array('add_tables' => array(
'bar' => array(
'COLUMNS' => array(
'barfoo' => array('BOOL', 0),
'barfoor2' => array('BOOL', 0),
),
'PRIMARY_KEY' => array('barfoo'),
),
)))),
array('dbtools.perform_schema_changes', array(array('change_columns' => array( array('dbtools.perform_schema_changes', array(array('change_columns' => array(
'table1' => array( 'table1' => array(
'column1' => array('foo'), 'column1' => array('foo'),