laravel

Laravel Jak zálohovat databázi

Laravel Jak zálohovat databázi

Problém

Mnoho nových vývojářů Laravel si to bohužel neuvědomuje, dokud neprovedou svůj kód do výroby, a něco se stane, takže ztratí svá data.

Laravel nenabízí zálohu databáze jako součást své základní funkce, takže noví vývojáři Laravelu s tím nemohou pracovat při čtení článků o Laravelu nebo při vytváření aplikace Laravel.

Dnes se stává stále důležitější věcí ukládat a uchovávat vaše záložní data pro případ, že byste je někdy potřebovali použít.

Časté chyby, které noví vývojáři Laravelu dělají, je přejít na phpmyadmin a pokusit se tento export spustit ručně. I když to bude i nadále fungovat, není to nejlepší postup, protože někdy tam nebudete, abyste vytvořili zálohu, a vaši uživatelé již vygenerovali nová data.

To, co chcete udělat, je automatizovat to.

Řešení

Existuje mnoho způsobů, jak můžete zálohovat databázi, ale kolik lidí používá tento balíček https: // github.com / spatie / laravel-backup . Společnost za ním je velmi spolehlivá a v oboru známá.

Nejprve je balíček ZDARMA, takže nemusíte nic platit.

Pozitivní je, že instalace je poměrně jednoduchá a hlavně se mi líbí, že nejenže zálohuje vaši databázi, ale máte také možnost zálohovat soubory a poté vše uložit do souboru zip. Když říkám soubory, mám na mysli soubory úložiště, například nahrání dokumentu nebo soubory, které vygenerujete pomocí své aplikace.

Kromě toho to můžete také přesunout na AWS S3, což je chytrá věc. Vše, co musíte udělat, je (za předpokladu, že již máte účet AWS, je jít a vytvořit nový kbelík S3 s novými oprávněními. Pak můžete jen sledovat dokumentaci na jejich stránce Github.

Zde je rychlý náhled konfiguračního souboru, který můžete vyladit, abyste dostávali oznámení prostřednictvím jiných médií, jako je Slack a e-mail.

'notifications' => [
'notifications' => [
\ 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 => ['mail', 'slack'],
],
/ *
* Zde můžete určit oznamovatel, kterému mají být oznámení zasílána. Výchozí
* notifiable použije proměnné uvedené v tomto konfiguračním souboru.
* /
'notifiable' => \ Spatie \ Backup \ Notifications \ Notifiable :: class,
'mail' => [
'to' => ['editor @ linuxhint.com '],
],
'slack' => [
'webhook_url' => 'https: // háčky.ochabnout.com / services / ABMGGK7AB / B9PBCDSM8 / kam02gzLrycaUBctgAdRv52M ',
/ *
* Pokud je nastaveno na null, použije se výchozí kanál webhooku.
* /
'channel' => null,
],
],

Nastavit automatizaci

Nakonec by to všechno nemělo smysl, kdybyste se rozhodli přeskočit automatizační část. Za tímto účelem se chcete spolehnout na úlohy cron, které by již měly být povoleny na vašem hostiteli a ukazatel na příkaz Laravel harmonogram, jako je tento:

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

Odtud ve vaší aplikaci / konzole / jádře.php soubor, měli byste udělat následující, pokud jej chcete automatizovat v určitou dobu (obvykle to dělám, když většina našich uživatelů spí):

if (app ('env') == 'production')
$ schedule-> command ('backup: clean') -> daily () -> at ('01: 00 ');
$ schedule-> command ('backup: run') -> daily () -> at ('02: 00 ');
Hry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Vytvoření vlastní simulace dopravy může být zábavné, uvolňující a mimořádně lákavé. Proto se musíte ujistit, že vyzkoušíte co nejvíce her, abyste našl...
Hry Výukový program OpenTTD
Výukový program OpenTTD
OpenTTD je jednou z nejpopulárnějších her pro obchodní simulaci. V této hře musíte vytvořit skvělé dopravní podnikání. Začnete však na začátku kolem r...
Hry SuperTuxKart pro Linux
SuperTuxKart pro Linux
SuperTuxKart je skvělý titul navržený tak, aby vám ve vašem systému Linux přinesl zážitek Mario Kart zdarma. Je to docela náročné a zábavné hrát, je n...