[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())
{
$migration_start_time = microtime(true);
try
{
$migrator->update();
@ -227,20 +229,26 @@ while (!$migrator->finished())
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
{
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'])
{
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
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.',
'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_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_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_INFO_FILE_NOT_EXIST' => 'A required module info file is missing: %2$s',

View file

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