Laravel Backup Restore - це пакет для відновлення резервних копій бази даних, зроблених за допомогою пакета laravel-backup Spatie:
Додавання останніх штрихів до laravel-backup-restore.
— Stefan Zweifel (@_stefanzweifel) May 31, 2023
В даний час пишу пост у блозі, пояснюючи все.
v1 повинен бути позначений до середини червня.
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.