[feature/migrations] Comments

PHPBB3-9737
This commit is contained in:
Nathan Guse 2013-01-09 15:41:04 -06:00
parent edf693e3bd
commit f56e400cd3
2 changed files with 28 additions and 12 deletions

View file

@ -366,7 +366,7 @@ class phpbb_db_migration_tool_permission implements phpbb_db_migration_tool_inte
switch ($type)
{
case 'role' :
case 'role':
$sql = 'SELECT role_id
FROM ' . ACL_ROLES_TABLE . "
WHERE role_name = '" . $this->db->sql_escape($name) . "'";
@ -389,7 +389,7 @@ class phpbb_db_migration_tool_permission implements phpbb_db_migration_tool_inte
$this->db->sql_freeresult($result);
break;
case 'group' :
case 'group':
$sql = 'SELECT group_id
FROM ' . GROUPS_TABLE . "
WHERE group_name = '" . $this->db->sql_escape($name) . "'";
@ -435,7 +435,7 @@ class phpbb_db_migration_tool_permission implements phpbb_db_migration_tool_inte
$sql_ary = array();
switch ($type)
{
case 'role' :
case 'role':
foreach ($new_auth as $auth_option_id)
{
if (!isset($current_auth[$auth_option_id]))
@ -451,7 +451,7 @@ class phpbb_db_migration_tool_permission implements phpbb_db_migration_tool_inte
$this->db->sql_multi_insert(ACL_ROLES_DATA_TABLE, $sql_ary);
break;
case 'group' :
case 'group':
foreach ($new_auth as $auth_option_id)
{
if (!isset($current_auth[$auth_option_id]))
@ -508,7 +508,7 @@ class phpbb_db_migration_tool_permission implements phpbb_db_migration_tool_inte
switch ($type)
{
case 'role' :
case 'role':
$sql = 'SELECT role_id
FROM ' . ACL_ROLES_TABLE . "
WHERE role_name = '" . $this->db->sql_escape($name) . "'";
@ -525,7 +525,7 @@ class phpbb_db_migration_tool_permission implements phpbb_db_migration_tool_inte
$this->db->sql_query($sql);
break;
case 'group' :
case 'group':
$sql = 'SELECT group_id
FROM ' . GROUPS_TABLE . "
WHERE group_name = '" . $this->db->sql_escape($name) . "'";

View file

@ -43,13 +43,27 @@ class phpbb_db_migrator
/** @var string */
protected $migrations_table;
/** @var array State of all migrations (SELECT * FROM migrations table) */
protected $migration_state;
/**
* State of all migrations
*
* (SELECT * FROM migrations table)
*
* @var array
*/
protected $migration_state = array();
/** @var array Array of all migrations available to be run */
/**
* Array of all migrations available to be run
*
* @var array
*/
protected $migrations = array();
/** @var array 'name' and 'class' of the last migration run */
/**
* 'name' and 'class' of the last migration run
*
* @var array
*/
public $last_run_migration = false;
/**
@ -83,11 +97,12 @@ class phpbb_db_migrator
*/
public function load_migration_state()
{
$this->migration_state = array();
$sql = "SELECT *
FROM " . $this->migrations_table;
$result = $this->db->sql_query($sql);
$this->migration_state = array();
while ($migration = $this->db->sql_fetchrow($result))
{
$this->migration_state[$migration['migration_name']] = $migration;
@ -137,8 +152,9 @@ class phpbb_db_migrator
$added_classes = array_diff(get_declared_classes(), $declared_classes);
if (
// The phpbb_db_migrations class may not have been loaded until now, so make sure to ignore it.
// If two classes have been added and phpbb_db_migration is one of them, we've only added one real migration
!(sizeof($added_classes) == 2 && in_array('phpbb_db_migration', $added_classes)) &&
// Otherwise there should only be one class added
sizeof($added_classes) != 1
)
{