[ticket/11883] Report completed data step in migration as "Installing Data"

PHPBB3-11883
This commit is contained in:
Nathan 2013-10-02 14:27:46 -05:00
parent 49ce2c13b2
commit 621e6c93ed
3 changed files with 20 additions and 6 deletions

View file

@ -207,6 +207,8 @@ $safe_time_limit = (ini_get('max_execution_time') / 2);
while (!$migrator->finished()) while (!$migrator->finished())
{ {
$migration_start_time = microtime(true);
try try
{ {
$migrator->update(); $migrator->update();
@ -227,20 +229,26 @@ while (!$migrator->finished())
if (isset($migrator->last_run_migration['effectively_installed']) && $migrator->last_run_migration['effectively_installed']) if (isset($migrator->last_run_migration['effectively_installed']) && $migrator->last_run_migration['effectively_installed'])
{ {
echo $user->lang('MIGRATION_EFFECTIVELY_INSTALLED', $migrator->last_run_migration['name']) . '<br />'; echo $user->lang('MIGRATION_EFFECTIVELY_INSTALLED', $migrator->last_run_migration['name']);
} }
else else
{ {
if ($state['migration_data_done']) if ($migrator->last_run_migration['task'] == 'process_data_step' && $state['migration_data_done'])
{ {
echo $user->lang('MIGRATION_DATA_DONE', $migrator->last_run_migration['name']) . '<br />'; echo $user->lang('MIGRATION_DATA_DONE', $migrator->last_run_migration['name'], (microtime(true) - $migration_start_time), (time() - $update_start_time));
}
else if ($migrator->last_run_migration['task'] == 'process_data_step')
{
echo $user->lang('MIGRATION_DATA_IN_PROGRESS', $migrator->last_run_migration['name'], (microtime(true) - $migration_start_time), (time() - $update_start_time));
} }
else if ($state['migration_schema_done']) else if ($state['migration_schema_done'])
{ {
echo $user->lang('MIGRATION_SCHEMA_DONE', $migrator->last_run_migration['name']) . '<br />'; echo $user->lang('MIGRATION_SCHEMA_DONE', $migrator->last_run_migration['name'], (microtime(true) - $migration_start_time), (time() - $update_start_time));
} }
} }
echo "<br />\n";
// Are we approaching the time limit? If so we want to pause the update and continue after refreshing // Are we approaching the time limit? If so we want to pause the update and continue after refreshing
if ((time() - $update_start_time) >= $safe_time_limit) if ((time() - $update_start_time) >= $safe_time_limit)
{ {

View file

@ -39,11 +39,12 @@ $lang = array_merge($lang, array(
'GROUP_NOT_EXIST' => 'The group "%s" unexpectedly does not exist.', 'GROUP_NOT_EXIST' => 'The group "%s" unexpectedly does not exist.',
'MIGRATION_DATA_DONE' => 'Installed Data: %s', 'MIGRATION_DATA_DONE' => 'Installed Data: %1$s; Time: %2$.2f seconds',
'MIGRATION_DATA_IN_PROGRESS' => 'Installing Data: %1$s; Time: %2$.2f seconds',
'MIGRATION_EFFECTIVELY_INSTALLED' => 'Migration already effectively installed (skipped): %s', 'MIGRATION_EFFECTIVELY_INSTALLED' => 'Migration already effectively installed (skipped): %s',
'MIGRATION_EXCEPTION_ERROR' => 'Something went wrong during the request and an exception was thrown. The changes made before the error occurred were reversed to the best of our abilities, but you should check the board for errors.', 'MIGRATION_EXCEPTION_ERROR' => 'Something went wrong during the request and an exception was thrown. The changes made before the error occurred were reversed to the best of our abilities, but you should check the board for errors.',
'MIGRATION_NOT_FULFILLABLE' => 'The migration "%1$s" is not fulfillable, missing migration "%2$s".', 'MIGRATION_NOT_FULFILLABLE' => 'The migration "%1$s" is not fulfillable, missing migration "%2$s".',
'MIGRATION_SCHEMA_DONE' => 'Installed Schema: %s', 'MIGRATION_SCHEMA_DONE' => 'Installed Schema: %1$s; Time: %2$.2f seconds',
'MODULE_ERROR' => 'An error occurred while creating a module: %s', 'MODULE_ERROR' => 'An error occurred while creating a module: %s',
'MODULE_INFO_FILE_NOT_EXIST' => 'A required module info file is missing: %2$s', 'MODULE_INFO_FILE_NOT_EXIST' => 'A required module info file is missing: %2$s',

View file

@ -204,6 +204,7 @@ class migrator
'name' => $name, 'name' => $name,
'class' => $migration, 'class' => $migration,
'state' => $state, 'state' => $state,
'task' => '',
); );
if (!isset($this->migration_state[$name])) if (!isset($this->migration_state[$name]))
@ -231,6 +232,7 @@ class migrator
if (!$state['migration_schema_done']) if (!$state['migration_schema_done'])
{ {
$this->last_run_migration['task'] = 'apply_schema_changes';
$this->apply_schema_changes($migration->update_schema()); $this->apply_schema_changes($migration->update_schema());
$state['migration_schema_done'] = true; $state['migration_schema_done'] = true;
} }
@ -238,6 +240,7 @@ class migrator
{ {
try try
{ {
$this->last_run_migration['task'] = 'process_data_step';
$result = $this->process_data_step($migration->update_data(), $state['migration_data_state']); $result = $this->process_data_step($migration->update_data(), $state['migration_data_state']);
$state['migration_data_state'] = ($result === true) ? '' : $result; $state['migration_data_state'] = ($result === true) ? '' : $result;
@ -308,6 +311,7 @@ class migrator
$this->last_run_migration = array( $this->last_run_migration = array(
'name' => $name, 'name' => $name,
'class' => $migration, 'class' => $migration,
'task' => '',
); );
if ($state['migration_data_done']) if ($state['migration_data_done'])
@ -626,6 +630,7 @@ class migrator
{ {
continue; continue;
} }
return false; return false;
} }