• Час читання ~1 хв
  • 22.06.2023

Laravel Backup Restore - це пакет для відновлення резервних копій бази даних, зроблених за допомогою пакета laravel-backup Spatie:

Додавання останніх штрихів до laravel-backup-restore.
В даний час пишу пост у блозі, пояснюючи все.
v1 повинен бути позначений до середини червня.

— Stefan Zweifel (@_stefanzweifel) May 31, 2023

https://t.co/uRubDv4CDwЦей пакунок надає команду Artisan для відновлення резервної копії, а також деякі настроювані перевірки справності та цілісності резервної копії. Ось приклад команди ремісника з проекту README:Після

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

відновлення резервної копії цей пакунок запустить деякі перевірки справності, щоб переконатися, що резервну копію було успішно відновлено. Він перевіряє наявність таких речей, як перевірка наявності в базі даних таблиць. Ви також можете додати власні перевірки, які ви можете налаштувати для запуску після 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();
    }
}

Обов'язково перегляньте readme пакета для прикладу дії GitHub, яку ви можете використовувати для поступової перевірки цілісності резервної копії.

Ви можете дізнатися більше про цей пакет, отримати повні інструкції зі встановлення та переглянути вихідний код на GitHub.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

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...

Про автора CrazyBoy49z
WORK EXPERIENCE
Контакти
Ukraine, Lutsk
+380979856297