laravel

Laravel Jak wykonać kopię zapasową bazy danych

Laravel Jak wykonać kopię zapasową bazy danych

Problem

Niestety, wielu nowych programistów Laravela nie zdaje sobie z tego sprawy, dopóki nie wprowadzą swojego kodu do produkcji i dzieje się coś, co powoduje utratę danych.

Laravel nie oferuje kopii zapasowej bazy danych w ramach swojej podstawowej funkcjonalności, więc nowi programiści Laravela nie mogą z tym pracować podczas czytania artykułów o Laravelu lub budowania aplikacji Laravel.

Obecnie coraz ważniejsze staje się przechowywanie i zabezpieczanie danych kopii zapasowych na wypadek, gdyby zaszła potrzeba ich użycia.

Częstymi błędami, które popełniają nowi programiści Laravela, jest przejście do phpmyadmina i próba ręcznego uruchomienia tego eksportu. Chociaż to nadal będzie działać, nie jest to najlepsza praktyka, ponieważ czasami nie będzie Cię tam, aby wykonać kopię zapasową, a Twoi użytkownicy wygenerowali już nowe dane.

Chcesz to zautomatyzować.

Rozwiązanie

Istnieje wiele sposobów na wykonanie kopii zapasowej bazy danych, ale ile osób korzysta z tego pakietu https://github.com/spatie/laravel-backup . Stojąca za nim firma jest bardzo rzetelna i znana w branży.

Przede wszystkim pakiet jest BEZPŁATNY, więc nie musisz nic płacić.

Plusem jest to, że instalacja jest dość prosta, a szczególnie podoba mi się to, że nie tylko tworzy kopię zapasową bazy danych, ale masz również opcję tworzenia kopii zapasowych plików, a następnie przechowywania tego wszystkiego w pliku zip. Kiedy mówię o plikach, mam na myśli pliki do przechowywania, takie jak przesłane dokumenty lub pliki, które generujesz za pomocą aplikacji your.

Ponadto możesz również przenieść to do AWS S3, co jest mądrym posunięciem. Wszystko, co musisz zrobić, to (zakładając, że masz już konto AWS, iść i utworzyć nowy zasobnik S3 z nowymi uprawnieniami. Następnie możesz po prostu postępować zgodnie z dokumentacją na ich stronie Github.

Oto szybki podgląd pliku konfiguracyjnego, który możesz dostosować, aby otrzymywać powiadomienia za pośrednictwem innych mediów, takich jak Slack i Email.

'powiadomienia' => [
'powiadomienia' => [
\Spatie\Backup\Notifications\Notifications\BackupHasFailed::class => ['mail', 'slack'],
\Spatie\Backup\Notifications\Notifications\UnhealthyBackupWasFound::class => ['mail', 'slack'],
\Spatie\Backup\Notifications\Notifications\CleanupHasFailed::class => ['mail', 'slack'],
\Spatie\Backup\Notifications\Notifications\BackupWasSuccessful::class => ['mail', 'slack'],
\Spatie\Backup\Notifications\Notifications\HealthyBackupWasFound::class => ['mail', 'slack'],
\Spatie\Backup\Notifications\Notifications\CleanupWasSuccessful::class => ['poczta', 'slack'],
],
/*
* Tutaj możesz określić, do kogo mają być wysyłane powiadomienia. Domyślny
* notiable użyje zmiennych określonych w tym pliku konfiguracyjnym.
*/
'notifiable' => \Spatie\Backup\Notifications\Notifiable::class,
'poczta' => [
'do' => ['[email protected]'],
],
'luz' => [
'webhook_url' => 'https://hooks.luźny.com/services/ABMGGK7AB/B9PBCDSM8/kam02gzLrycaUBctgAdRv52M',
/*
* Jeśli ta opcja jest ustawiona na null, zostanie użyty domyślny kanał webhooka.
*/
'kanał' => null,
],
],

Skonfiguruj automatyzację

Wreszcie, wszystko to nie miałoby większego sensu, gdybyś zdecydował się pominąć część dotyczącą automatyzacji. W tym celu chcesz polegać na zadaniach cron, które powinny być już włączone na twoim hoście i wskazywać polecenie harmonogramu Laravel w ten sposób:

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

Stąd, w Twojej aplikacji/Konsoli/Jądrze.plik php powinieneś wykonać następujące czynności, jeśli chcesz zautomatyzować go w określonym czasie (zwykle robię to, gdy większość naszych użytkowników śpi):

if (app('env') == 'produkcja')
$schedule->command('backup:clean')->codziennie()->at('01:00');
$schedule->command('backup:run')->codziennie()->at('02:00');
Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...
Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...
AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...