mirror of
https://github.com/Oreolek/kohana-migrations.git
synced 2024-05-24 11:58:11 +03:00
Updating code to follow kohana coding standards
This commit is contained in:
parent
e52563165c
commit
8fc8ea440e
|
@ -4,7 +4,7 @@
|
|||
* Controller for interacting with minion on the cli
|
||||
*
|
||||
* @author Matt Button <matthew@sigswitch.com>
|
||||
**/
|
||||
*/
|
||||
class Controller_Minion extends Controller
|
||||
{
|
||||
/**
|
||||
|
@ -18,7 +18,7 @@ class Controller_Minion extends Controller
|
|||
*/
|
||||
public function before()
|
||||
{
|
||||
if( ! Kohana::$is_cli)
|
||||
if ( ! Kohana::$is_cli)
|
||||
{
|
||||
throw new Kohana_Exception("Minion can only be ran from the cli");
|
||||
}
|
||||
|
@ -27,12 +27,12 @@ class Controller_Minion extends Controller
|
|||
|
||||
$options = CLI::options('help', 'task');
|
||||
|
||||
if(array_key_exists('help', $options))
|
||||
if (array_key_exists('help', $options))
|
||||
{
|
||||
$this->request->action = 'help';
|
||||
}
|
||||
|
||||
if( ! empty($options['task']))
|
||||
if ( ! empty($options['task']))
|
||||
{
|
||||
$this->_task = $options['task'];
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ class Controller_Minion extends Controller
|
|||
$tasks = Minion_Util::compile_task_list(Kohana::list_files('classes/minion/task'));
|
||||
$view = NULL;
|
||||
|
||||
if(empty($this->_task))
|
||||
if (empty($this->_task))
|
||||
{
|
||||
$view = new View('minion/help/list');
|
||||
|
||||
|
@ -59,7 +59,7 @@ class Controller_Minion extends Controller
|
|||
{
|
||||
$class = Minion_Util::convert_task_to_class_name($this->_task);
|
||||
|
||||
if( ! class_exists($class))
|
||||
if ( ! class_exists($class))
|
||||
{
|
||||
echo View::factory('minion/help/error')
|
||||
->set('error', 'Task "'.$task.'" does not exist');
|
||||
|
@ -88,7 +88,7 @@ class Controller_Minion extends Controller
|
|||
*/
|
||||
public function action_execute()
|
||||
{
|
||||
if(empty($this->_task))
|
||||
if (empty($this->_task))
|
||||
{
|
||||
return $this->action_help();
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ class Controller_Minion extends Controller
|
|||
$config = array();
|
||||
$options = (array) $task->get_config_options();
|
||||
|
||||
if( ! empty($options))
|
||||
if ( ! empty($options))
|
||||
{
|
||||
$options = $task->get_config_options();
|
||||
$config = call_user_func_array(array('CLI', 'options'), $options);
|
||||
|
|
|
@ -36,7 +36,7 @@ abstract class Minion_Migration_Base {
|
|||
$config = Kohana::config('minion/migration');
|
||||
$location = $this->_info['location'];
|
||||
|
||||
if(isset($config->location_connection[$location]))
|
||||
if (isset($config->location_connection[$location]))
|
||||
{
|
||||
return $config->location_connection[$location];
|
||||
}
|
||||
|
|
|
@ -13,9 +13,9 @@ class Minion_Migration_Database extends Database_MySQL {
|
|||
*/
|
||||
public static function faux_instance($db_group = NULL, array $config = NULL)
|
||||
{
|
||||
if($config === NULL)
|
||||
if ($config === NULL)
|
||||
{
|
||||
if($db_group === NULL)
|
||||
if ($db_group === NULL)
|
||||
{
|
||||
$db_group = Database::$default;
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* that need to be executed in order to reach a target version
|
||||
*
|
||||
* @author Matt Button <matthew@sigswitch.com>
|
||||
**/
|
||||
*/
|
||||
class Minion_Migration_Manager {
|
||||
|
||||
/**
|
||||
|
@ -47,7 +47,7 @@ class Minion_Migration_Manager {
|
|||
*/
|
||||
public function __construct(Kohana_Database $db, Model_Minion_Migration $model = NULL)
|
||||
{
|
||||
if($model === NULL)
|
||||
if ($model === NULL)
|
||||
{
|
||||
$model = new Model_Minion_Migration($db);
|
||||
}
|
||||
|
@ -154,15 +154,15 @@ class Minion_Migration_Manager {
|
|||
{
|
||||
$migrations = $this->_model->fetch_required_migrations($locations, $versions, $default_direction);
|
||||
|
||||
foreach($migrations as $path => $location)
|
||||
foreach ($migrations as $path => $location)
|
||||
{
|
||||
$method = $location['direction'] ? 'up' : 'down';
|
||||
|
||||
foreach($location['migrations'] as $migration)
|
||||
foreach ($location['migrations'] as $migration)
|
||||
{
|
||||
$filename = Minion_Migration_Util::get_filename_from_migration($migration);
|
||||
|
||||
if( ! ($file = Kohana::find_file('migrations', $filename, FALSE)))
|
||||
if ( ! ($file = Kohana::find_file('migrations', $filename, FALSE)))
|
||||
{
|
||||
throw new Kohana_Exception(
|
||||
'Cannot load migration :migration (:file)',
|
||||
|
@ -192,7 +192,7 @@ class Minion_Migration_Manager {
|
|||
}
|
||||
|
||||
|
||||
if($this->_dry_run)
|
||||
if ($this->_dry_run)
|
||||
{
|
||||
$this->_dry_run_sql[$path][$migration['timestamp']] = $db->reset_query_stack();
|
||||
}
|
||||
|
@ -221,26 +221,26 @@ class Minion_Migration_Manager {
|
|||
|
||||
$all_migrations = array_merge(array_keys($installed), array_keys($available));
|
||||
|
||||
foreach($all_migrations as $migration)
|
||||
foreach ($all_migrations as $migration)
|
||||
{
|
||||
// If this migration has since been deleted
|
||||
if(isset($installed[$migration]) AND ! isset($available[$migration]))
|
||||
if (isset($installed[$migration]) AND ! isset($available[$migration]))
|
||||
{
|
||||
// We should only delete a record of this migration if it does
|
||||
// not exist in the "real world"
|
||||
if($installed[$migration]['applied'] === '0')
|
||||
if ($installed[$migration]['applied'] === '0')
|
||||
{
|
||||
$this->_model->delete_migration($installed[$migration]);
|
||||
}
|
||||
}
|
||||
// If the migration has not yet been installed :D
|
||||
elseif( ! isset($installed[$migration]) AND isset($available[$migration]))
|
||||
elseif ( ! isset($installed[$migration]) AND isset($available[$migration]))
|
||||
{
|
||||
$this->_model->add_migration($available[$migration]);
|
||||
}
|
||||
// Somebody changed the description of the migration, make sure we
|
||||
// update it in the db as we use this to build the filename!
|
||||
elseif($installed[$migration]['description'] !== $available[$migration]['description'])
|
||||
elseif ($installed[$migration]['description'] !== $available[$migration]['description'])
|
||||
{
|
||||
$this->_model->update_migration($installed[$migration], $available[$migration]);
|
||||
}
|
||||
|
@ -259,7 +259,7 @@ class Minion_Migration_Manager {
|
|||
protected function _get_db_instance($db_group)
|
||||
{
|
||||
// If this isn't a dry run then just use a normal database connection
|
||||
if( ! $this->_dry_run)
|
||||
if ( ! $this->_dry_run)
|
||||
return Database::instance($db_group);
|
||||
|
||||
return Minion_Migration_Database::faux_instance($db_group);
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* Provides a set of utility functions for managing migrations
|
||||
*
|
||||
* @author Matt Button <matthew@sigswitch.com>
|
||||
**/
|
||||
*/
|
||||
class Minion_Migration_Util {
|
||||
|
||||
/**
|
||||
|
@ -19,10 +19,10 @@ class Minion_Migration_Util {
|
|||
{
|
||||
$migrations = array();
|
||||
|
||||
foreach($files as $file => $path)
|
||||
foreach ($files as $file => $path)
|
||||
{
|
||||
// If this is a directory we're dealing with
|
||||
if(is_array($path))
|
||||
if (is_array($path))
|
||||
{
|
||||
$migrations += Minion_Migration_Util::compile_migrations_from_files($path);
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ class Minion_Migration_Util {
|
|||
$location = $migration['location'];
|
||||
$migration = $migration['timestamp'].'_'.$migration['description'];
|
||||
|
||||
$location = ! empty($location) ? rtrim($location, '/').'/' : '';
|
||||
$location = ( ! empty($location)) ? (rtrim($location, '/').'/') : '';
|
||||
|
||||
return $location.$migration.EXT;
|
||||
}
|
||||
|
@ -95,7 +95,7 @@ class Minion_Migration_Util {
|
|||
*/
|
||||
public static function get_class_from_migration($migration)
|
||||
{
|
||||
if(is_string($migration))
|
||||
if (is_string($migration))
|
||||
{
|
||||
$migration = str_replace(array(':', '/'), ' ', $migration);
|
||||
}
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
/**
|
||||
* Interface that all minion tasks must implement
|
||||
*
|
||||
*/
|
||||
abstract class Minion_Task {
|
||||
|
||||
|
@ -15,14 +14,14 @@ abstract class Minion_Task {
|
|||
*/
|
||||
public static function factory($task)
|
||||
{
|
||||
if(is_string($task))
|
||||
if (is_string($task))
|
||||
{
|
||||
$class = Minion_Util::convert_task_to_class_name($task);
|
||||
|
||||
$task = new $class;
|
||||
}
|
||||
|
||||
if( ! $task instanceof Minion_Task)
|
||||
if ( ! $task instanceof Minion_Task)
|
||||
{
|
||||
throw new Kohana_Exception(
|
||||
"Task ':task' is not a valid minion task",
|
||||
|
@ -47,7 +46,7 @@ abstract class Minion_Task {
|
|||
{
|
||||
static $task_name = NULL;
|
||||
|
||||
if($task_name === NULL)
|
||||
if ($task_name === NULL)
|
||||
{
|
||||
$task_name = Minion_Util::convert_class_to_task($this);
|
||||
}
|
||||
|
|
4
classes/minion/task/cache/purge.php
vendored
4
classes/minion/task/cache/purge.php
vendored
|
@ -28,7 +28,7 @@ class Minion_Task_Cache_Purge extends Minion_Task
|
|||
*/
|
||||
public function execute(array $config)
|
||||
{
|
||||
if(empty($config['cache']))
|
||||
if (empty($config['cache']))
|
||||
{
|
||||
return 'Please specify a set of cache configs.';
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ class Minion_Task_Cache_Purge extends Minion_Task
|
|||
|
||||
$caches = explode(',', $config['cache']);
|
||||
|
||||
foreach($caches as $cache)
|
||||
foreach ($caches as $cache)
|
||||
{
|
||||
Cache::instance($cache)
|
||||
->delete_all();
|
||||
|
|
|
@ -45,7 +45,7 @@ class Minion_Task_Db_Generate extends Minion_Task
|
|||
*/
|
||||
public function execute(array $config)
|
||||
{
|
||||
if(empty($config['location']) OR empty($config['description']))
|
||||
if (empty($config['location']) OR empty($config['description']))
|
||||
{
|
||||
return 'Please provide --location and --description'.PHP_EOL.
|
||||
'See help for more info'.PHP_EOL;
|
||||
|
@ -86,7 +86,7 @@ class Minion_Task_Db_Generate extends Minion_Task
|
|||
|
||||
// If location is empty then we want to avoid double underscore in the
|
||||
// class name
|
||||
if( ! empty($class))
|
||||
if ( ! empty($class))
|
||||
{
|
||||
$class .= '_';
|
||||
}
|
||||
|
|
|
@ -125,20 +125,20 @@ class Minion_Task_Db_Migrate extends Minion_Task
|
|||
*/
|
||||
protected function _parse_locations($location)
|
||||
{
|
||||
if(is_array($location))
|
||||
if (is_array($location))
|
||||
return $location;
|
||||
|
||||
$location = trim($location);
|
||||
|
||||
if(empty($location))
|
||||
if (empty($location))
|
||||
return array();
|
||||
|
||||
$locations = array();
|
||||
$location = explode(',', trim($location, ','));
|
||||
|
||||
if( ! empty($location))
|
||||
if ( ! empty($location))
|
||||
{
|
||||
foreach($location as $a_location)
|
||||
foreach ($location as $a_location)
|
||||
{
|
||||
$locations[] = trim($a_location, '/');
|
||||
}
|
||||
|
@ -163,21 +163,21 @@ class Minion_Task_Db_Migrate extends Minion_Task
|
|||
*/
|
||||
protected function _parse_target_versions($versions)
|
||||
{
|
||||
if(empty($versions))
|
||||
if (empty($versions))
|
||||
return array();
|
||||
|
||||
$targets = array();
|
||||
|
||||
if( ! is_array($versions))
|
||||
if ( ! is_array($versions))
|
||||
{
|
||||
$versions = explode(',', trim($versions));
|
||||
}
|
||||
|
||||
foreach($versions as $version)
|
||||
foreach ($versions as $version)
|
||||
{
|
||||
$target = $this->_parse_version($version);
|
||||
|
||||
if(is_array($target))
|
||||
if (is_array($target))
|
||||
{
|
||||
list($location, $version) = $target;
|
||||
|
||||
|
@ -200,13 +200,13 @@ class Minion_Task_Db_Migrate extends Minion_Task
|
|||
*/
|
||||
protected function _parse_version($version)
|
||||
{
|
||||
if(is_bool($version))
|
||||
if (is_bool($version))
|
||||
return $version;
|
||||
|
||||
if($version === 'TRUE' OR $version == 'FALSE')
|
||||
if ($version === 'TRUE' OR $version == 'FALSE')
|
||||
return $version === 'TRUE';
|
||||
|
||||
if(strpos($version, ':') !== FALSE)
|
||||
if (strpos($version, ':') !== FALSE)
|
||||
return explode(':', $version);
|
||||
|
||||
throw new Kohana_Exception('Invalid target version :version', array(':version' => $version));
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
/**
|
||||
* Utility class for Minion
|
||||
**/
|
||||
*/
|
||||
class Minion_Util
|
||||
{
|
||||
/**
|
||||
|
@ -68,15 +68,15 @@ class Minion_Util
|
|||
{
|
||||
$output = array();
|
||||
|
||||
foreach($files as $file => $path)
|
||||
foreach ($files as $file => $path)
|
||||
{
|
||||
$file = substr($file, strrpos($file, '/') + 1);
|
||||
|
||||
if(is_array($path) AND count($path))
|
||||
if (is_array($path) AND count($path))
|
||||
{
|
||||
$task = Minion_Util::compile_task_list($path, $prefix.$file.Minion_Util::$task_separator);
|
||||
|
||||
if($task)
|
||||
if ($task)
|
||||
{
|
||||
$output = array_merge($output, $task);
|
||||
}
|
||||
|
@ -100,7 +100,7 @@ class Minion_Util
|
|||
{
|
||||
$task = trim($task);
|
||||
|
||||
if(empty($task))
|
||||
if (empty($task))
|
||||
return '';
|
||||
|
||||
return 'Minion_Task_'.implode('_', array_map('ucfirst', explode(Minion_Util::$task_separator, $task)));
|
||||
|
@ -114,7 +114,7 @@ class Minion_Util
|
|||
*/
|
||||
public static function convert_class_to_task($class)
|
||||
{
|
||||
if(is_object($class))
|
||||
if (is_object($class))
|
||||
{
|
||||
$class = get_class($class);
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
/**
|
||||
* Model for managing migrations
|
||||
**/
|
||||
*/
|
||||
class Model_Minion_Migration extends Model
|
||||
{
|
||||
/**
|
||||
|
@ -50,7 +50,7 @@ class Model_Minion_Migration extends Model
|
|||
{
|
||||
$query = $this->_db->query(Database::SELECT, "SHOW TABLES like '".$this->_table."'");
|
||||
|
||||
if( ! count($query))
|
||||
if ( ! count($query))
|
||||
{
|
||||
$sql = file_get_contents(Kohana::find_file('', 'minion_schema', 'sql'));
|
||||
|
||||
|
@ -69,9 +69,9 @@ class Model_Minion_Migration extends Model
|
|||
$locations = $this->fetch_current_versions('location', 'id');
|
||||
$available = $this->available_migrations();
|
||||
|
||||
foreach($available as $migration)
|
||||
foreach ($available as $migration)
|
||||
{
|
||||
if(array_key_exists($migration['id'], $locations))
|
||||
if (array_key_exists($migration['id'], $locations))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
@ -92,7 +92,7 @@ class Model_Minion_Migration extends Model
|
|||
*/
|
||||
public function table($table = NULL)
|
||||
{
|
||||
if($table === NULL)
|
||||
if ($table === NULL)
|
||||
return $this->_table;
|
||||
|
||||
$this->_table = $table;
|
||||
|
@ -135,9 +135,9 @@ class Model_Minion_Migration extends Model
|
|||
*/
|
||||
public function get_migration($location, $timestamp = NULL)
|
||||
{
|
||||
if($timestamp === NULL)
|
||||
if ($timestamp === NULL)
|
||||
{
|
||||
if(empty($location) OR strpos(':', $location) === FALSE)
|
||||
if (empty($location) OR strpos(':', $location) === FALSE)
|
||||
{
|
||||
throw new Kohana_Exception('Invalid migration id :id', array(':id' => $location));
|
||||
}
|
||||
|
@ -160,7 +160,7 @@ class Model_Minion_Migration extends Model
|
|||
*/
|
||||
public function delete_migration($migration)
|
||||
{
|
||||
if(is_array($migration))
|
||||
if (is_array($migration))
|
||||
{
|
||||
$timestamp = $migration['timestamp'];
|
||||
$location = $migration['location'];
|
||||
|
@ -189,15 +189,15 @@ class Model_Minion_Migration extends Model
|
|||
{
|
||||
$set = array();
|
||||
|
||||
foreach($new as $key => $value)
|
||||
foreach ($new as $key => $value)
|
||||
{
|
||||
if($key !== 'id' AND $current[$key] !== $value)
|
||||
if ($key !== 'id' AND $current[$key] !== $value)
|
||||
{
|
||||
$set[$key] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
if(count($set))
|
||||
if (count($set))
|
||||
{
|
||||
DB::update($this->_table)
|
||||
->set($set)
|
||||
|
@ -286,7 +286,7 @@ class Model_Minion_Migration extends Model
|
|||
*/
|
||||
public function fetch_required_migrations($locations = NULL, $target_version = TRUE, $default_direction = TRUE)
|
||||
{
|
||||
if( ! empty($locations) AND ! is_array($locations))
|
||||
if ( ! empty($locations) AND ! is_array($locations))
|
||||
{
|
||||
$locations = array(
|
||||
$locations => is_array($target_version)
|
||||
|
@ -300,7 +300,7 @@ class Model_Minion_Migration extends Model
|
|||
$migrations = $this->fetch_current_versions('location');
|
||||
|
||||
// The user wants to run all available migrations
|
||||
if(empty($locations))
|
||||
if (empty($locations))
|
||||
{
|
||||
// Fetch a mirrored array of locations => locations
|
||||
$locations = $this->fetch_locations(TRUE);
|
||||
|
@ -308,11 +308,10 @@ class Model_Minion_Migration extends Model
|
|||
// If the calling script has been lazy and given us a numerically
|
||||
// indexed array of locations then we need to convert it to a mirrored
|
||||
// array
|
||||
//
|
||||
// We will decide the target version for these within the loop below
|
||||
elseif( ! Arr::is_assoc($locations))
|
||||
elseif ( ! Arr::is_assoc($locations))
|
||||
{
|
||||
foreach($locations as $_pos => $location)
|
||||
foreach ($locations as $_pos => $location)
|
||||
{
|
||||
unset($locations[$_pos]);
|
||||
|
||||
|
@ -321,7 +320,7 @@ class Model_Minion_Migration extends Model
|
|||
}
|
||||
|
||||
// Merge locations with specified target versions
|
||||
if( ! empty($target_version) AND is_array($target_version))
|
||||
if ( ! empty($target_version) AND is_array($target_version))
|
||||
{
|
||||
$locations = $target_version + $locations;
|
||||
}
|
||||
|
@ -329,18 +328,18 @@ class Model_Minion_Migration extends Model
|
|||
$migrations_to_apply = array();
|
||||
|
||||
// What follows is a bit of icky code, but there aren't many "nice" ways around it
|
||||
//
|
||||
|
||||
// Basically we need to get a list of migrations that need to be performed, but
|
||||
// the ordering of the migrations varies depending on whether we're wanting to
|
||||
// migrate up or migrate down. As such, we can't just apply a generic "order by x"
|
||||
// condition, we have to run an individual query for each location
|
||||
//
|
||||
|
||||
// Again, icky, but this appears to be the only "sane" way of doing it with multiple
|
||||
// locations
|
||||
//
|
||||
|
||||
// If you have a better way of doing this, please let me know :)
|
||||
|
||||
foreach($locations as $location => $target)
|
||||
foreach ($locations as $location => $target)
|
||||
{
|
||||
// By default all migrations go "up"
|
||||
$migrations_to_apply[$location]['direction'] = TRUE;
|
||||
|
@ -350,7 +349,7 @@ class Model_Minion_Migration extends Model
|
|||
|
||||
// If this migration was auto-selected from the db then use the
|
||||
// default migration direction
|
||||
if($target === $location)
|
||||
if ($target === $location)
|
||||
{
|
||||
$target = is_bool($target_version)
|
||||
? $target_version
|
||||
|
@ -359,10 +358,10 @@ class Model_Minion_Migration extends Model
|
|||
|
||||
// If the user is rolling this location to either extreme up or
|
||||
// extreme down
|
||||
if(is_bool($target))
|
||||
if (is_bool($target))
|
||||
{
|
||||
// We're "undoing" all applied migrations, i.e. rolling back
|
||||
if($target === FALSE)
|
||||
if ($target === FALSE)
|
||||
{
|
||||
$migrations_to_apply[$location]['direction'] = FALSE;
|
||||
|
||||
|
@ -388,7 +387,7 @@ class Model_Minion_Migration extends Model
|
|||
|
||||
// If the current version is the requested version then nothing
|
||||
// needs to be done
|
||||
if($current_timestamp === $timestamp)
|
||||
if ($current_timestamp === $timestamp)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
@ -396,14 +395,14 @@ class Model_Minion_Migration extends Model
|
|||
// If they haven't applied any migrations for this location
|
||||
// yet and are justwhere wanting to apply all migrations
|
||||
// (i.e. roll forward)
|
||||
if($current_timestamp === NULL)
|
||||
if ($current_timestamp === NULL)
|
||||
{
|
||||
$query
|
||||
->and_where('timestamp', '<=', $timestamp)
|
||||
->order_by('timestamp', 'ASC');
|
||||
}
|
||||
// If we need to move forward
|
||||
elseif($timestamp > $current_timestamp)
|
||||
elseif ($timestamp > $current_timestamp)
|
||||
{
|
||||
$query
|
||||
->and_where('timestamp', '<=', $timestamp)
|
||||
|
@ -411,7 +410,7 @@ class Model_Minion_Migration extends Model
|
|||
->order_by('timestamp', 'ASC');
|
||||
}
|
||||
// If we want to roll back
|
||||
elseif($timestamp < $current_timestamp)
|
||||
elseif ($timestamp < $current_timestamp)
|
||||
{
|
||||
$query
|
||||
->and_where('timestamp', '<', $current_timestamp)
|
||||
|
|
Loading…
Reference in a new issue