diff --git a/classes/PHPixie/Migrate/Migrator.php b/classes/PHPixie/Migrate/Migrator.php index 89fa7e6..e79f7ea 100755 --- a/classes/PHPixie/Migrate/Migrator.php +++ b/classes/PHPixie/Migrate/Migrator.php @@ -149,7 +149,7 @@ protected function apply($version_key, $direction) { unset($columns['_data']); } - if ($data_updates && $direction=='down') + if (!empty($data_updates) && $direction=='down') $this->update_table_data($table, $data_updates); if ($columns=='drop'&&$direction=='up') { @@ -183,9 +183,7 @@ protected function apply($version_key, $direction) { unset($columns['rename']); } - if (empty($columns)) - continue; - + if (!$renamed&&!isset($current_schema[$table])){ $this->create_table($table, $target_schema[$target_table]); continue; @@ -231,8 +229,10 @@ protected function apply($version_key, $direction) { } $this->pixie-> debug->log(array($target_table, $columns)); - $this->alter_columns($target_table, $columns); - if ($data_updates && $direction=='up') + if(!empty($columns)) + $this->alter_columns($target_table, $columns); + + if (!empty($data_updates) && $direction=='up') $this->update_table_data($table, $data_updates); @@ -304,7 +304,8 @@ public function get_version_schema($target) { * @return void */ protected function update_table_data($table, $data) { - foreach ($this->pixie->arr($data, 'insert', array()) as $insert) + + foreach ($this->pixie-> arr($data, 'insert', array()) as $insert) $this->_db->query('insert') ->table($table) ->data($insert)