|
9 | 9 | use Magento\Framework\App\Filesystem\DirectoryList;
|
10 | 10 | use Magento\Framework\Backup\Exception\NotEnoughPermissions;
|
11 | 11 | use Magento\Framework\Backup\Factory;
|
12 |
| -use Magento\Framework\Backup\Filesystem; |
13 | 12 | use Magento\Framework\Backup\Filesystem\Helper;
|
14 | 13 | use Magento\Framework\Exception\LocalizedException;
|
15 | 14 | use Magento\Framework\Filesystem\Driver\File;
|
@@ -245,6 +244,10 @@ public function dbRollback($rollbackFile, $keepSourceFile = false)
|
245 | 244 | $this->log->log('DB rollback is starting...');
|
246 | 245 | $dbRollback->setKeepSourceFile($keepSourceFile);
|
247 | 246 | $dbRollback->setResourceModel($this->objectManager->create(\Magento\Backup\Model\ResourceModel\Db::class));
|
| 247 | + if ($dbRollback->getBackupFilename() !== $rollbackFile) { |
| 248 | + $correctName = $this->getCorrectFileNameWithoutPrefix($dbRollback, $rollbackFile); |
| 249 | + $dbRollback->setName($correctName); |
| 250 | + } |
248 | 251 | $dbRollback->rollback();
|
249 | 252 | $this->log->log('DB rollback filename: ' . $dbRollback->getBackupFilename());
|
250 | 253 | $this->log->log('DB rollback path: ' . $dbRollback->getBackupPath());
|
@@ -332,4 +335,25 @@ public function getDBDiskSpace()
|
332 | 335 | $dbBackup = $this->objectManager->create(\Magento\Framework\Backup\Db::class);
|
333 | 336 | return $dbBackup->getDBSize();
|
334 | 337 | }
|
| 338 | + |
| 339 | + /** |
| 340 | + * Get correct file name without prefix. |
| 341 | + * |
| 342 | + * @param \Magento\Framework\Backup\Db $dbRollback |
| 343 | + * @param string $rollbackFile |
| 344 | + * |
| 345 | + * @return string |
| 346 | + */ |
| 347 | + private function getCorrectFileNameWithoutPrefix(\Magento\Framework\Backup\Db $dbRollback, $rollbackFile) |
| 348 | + { |
| 349 | + $namePrefix = $dbRollback->getTime() . '_' . $dbRollback->getType(); |
| 350 | + //delete prefix. |
| 351 | + $fileNameWithoutPrefix = str_replace($namePrefix, '', $rollbackFile); |
| 352 | + //change '_' to ' '. |
| 353 | + $fileNameWithoutPrefix = str_replace('_', ' ', $fileNameWithoutPrefix); |
| 354 | + //delete file extension. |
| 355 | + $fileNameWithoutPrefix = pathinfo($fileNameWithoutPrefix, PATHINFO_FILENAME); |
| 356 | + |
| 357 | + return $fileNameWithoutPrefix; |
| 358 | + } |
335 | 359 | }
|
0 commit comments