• Czas czytania ~2 min
  • 22.06.2023

Laravel Backup Restore to pakiet do przywracania kopii zapasowych baz danych wykonanych za pomocą laravel-backup package Spatie:

Adding the finishing amendments on laravel-backup-restore.
Obecnie pisze post na blogu wyjaśniający wszystko.
v1 powinien zostać oznaczony do połowy czerwca.

— Stefan Zweifel (@_stefanzweifel) May 31, 2023

https://t.co/uRubDv4CDwTen pakiet zawiera polecenie Artisan do przywracania kopii zapasowej, a także kilka konfigurowalnych kontroli kondycji i kontroli integralności kopii zapasowej. Oto przykład polecenia rzemieślniczego z pliku README projektu:

php artisan backup:restore
    --disk=s3
    --backup=latest
    --connection=mysql
    --password=my-secret-password
    --reset

Po przywróceniu kopii zapasowej ten pakiet uruchomi kilka kontroli kondycji, aby upewnić się, że kopia zapasowa została pomyślnie przywrócona. Sprawdza takie rzeczy, jak upewnienie się, że baza danych zawiera tabele. Możesz również dodać własne niestandardowe kontrole, które można skonfigurować do uruchamiania po backup:restore:

namespace App\HealthChecks;

use Wnx\LaravelBackupRestore\PendingRestore;
use Wnx\LaravelBackupRestore\HealthChecks\HealthCheck;

class MyCustomHealthCheck extends HealthCheck
{
    public function run(PendingRestore $pendingRestore): Result
    {
        $result = Result::make($this);

        // We assume that your app generates sales every day.
        // This check ensures that the database contains sales from yesterday.
        $newSales = \App\Models\Sale::query()
            ->whereBetween('created_at', [
                now()->subDay()->startOfDay(),
                now()->subDay()->endOfDay()
            ])
            ->exists();

        // If no sales were created yesterday, we consider the restore as failed.
        if ($newSales === false) {
            return $result->failed('Database contains no sales from yesterday.');
        }
        return $result->ok();
    }
}

Koniecznie sprawdź plik readme pakietu, aby zapoznać się z przykładem akcji GitHub, której można użyć do stopniowego sprawdzania integralności kopii zapasowej.

Możesz dowiedzieć się więcej o tym pakiecie, uzyskać pełne instrukcje instalacji i wyświetlić kod źródłowy w witrynie GitHub.You can learn more about this package, get full installation instructions, and view the source code on GitHub.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297