• Время чтения ~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 для восстановления резервной копии, а также некоторые настраиваемые проверки работоспособности и целостности резервной копии. Ниже приведен пример команды artisan из файла сведений проекта:

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

После восстановления резервной копии этот пакет выполнит некоторые проверки работоспособности, чтобы убедиться, что резервная копия была успешно восстановлена. Он проверяет такие вещи, как наличие в базе данных таблиц. Вы также можете добавить свои собственные пользовательские проверки, которые можно настроить для запуска после резервного копирования:восстановление:

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

Мы сбиваем «шахеды» каждый день. Каждое сбитие — спасённые жизни. Нам нужна мобильность: бус или прицеп. Каждый донат = ещё одна ночь под защитой.

🚐 Сбор на микроавтобус для моего экипажа, полк 1020 🎯 Цель: 500 000 ₴
🔗 Ссылка на банку 💳 4441 1111 2546 4663