* Sync from 18.x, add progress.

This commit is contained in:
wangyidong
2024-01-05 15:16:23 +08:00
parent 41bf41cd09
commit 9ee1d20068
2 changed files with 11 additions and 2 deletions
+8 -1
View File
@@ -458,10 +458,17 @@ class upgrade extends control
{
$logFile = $this->upgrade->getConsistencyLogFile();
$lines = !file_exists($logFile) ? array() : file($logFile);
$total = (int)array_shift($lines);
$progress = 0;
if($total) $progress = round((count($lines) / $total) * 100);
if($progress >= 100) $progress = 99;
$log = array_slice($lines, $offset);
$finished = ($log && end($log) == 'Finished') ? true : false;
if($finished) $progress = 100;
return print(json_encode(array('log' => implode("<br />", $log) . (empty($log) ? '' : '<br />'), 'finished' => $finished, 'offset' => count($lines))));
return print(json_encode(array('log' => implode("<br />", $log) . (empty($log) ? '' : '<br />'), 'finished' => $finished, 'progress' => $progress, 'offset' => count($lines))));
}
/**
+3 -1
View File
@@ -582,7 +582,9 @@ class upgradeModel extends model
/* 记录执行的sql并且记录执行结果。 */
/* Record the executed sql and the result. */
foreach(explode(';', $fixSqls) as $fixSQL)
$sqlLines = explode(';', $fixSqls);
file_put_contents($logFile, count($sqlLines) . "\n", FILE_APPEND);
foreach($sqlLines as $fixSQL)
{
file_put_contents($logFile, $fixSQL, FILE_APPEND);
try