laravel

Laravel Kaip sukurti atsarginę duomenų bazės kopiją

Laravel Kaip sukurti atsarginę duomenų bazės kopiją

Problema

Deja, daugelis naujų „Laravel“ kūrėjų to nesuvokia, kol nepateikia savo kodo gamyboje, ir kažkas atsitinka, kad jie prarastų savo duomenis.

„Laravel“ nesiūlo duomenų bazės atsarginės kopijos kaip savo pagrindinės funkcijos dalies, todėl naujieji „Laravel“ kūrėjai nesusitvarkys su tuo skaitydami „Laravel“ straipsnius ar kurdami „Laravel“ programą.

Šiandien tampa vis svarbiau išsaugoti ir išsaugoti atsargines duomenų kopijas tuo atveju, jei kada nors prireiks juos naudoti.

Dažniausios klaidos, kurias daro nauji „Laravel“ kūrėjai, yra eiti į „phpmyadmin“ ir pabandyti paleisti šį eksportą rankiniu būdu. Nors tai vis tiek veiks, tai nėra geriausia praktika, nes kartais nebūsi ten, kad padarytumėte atsarginę kopiją, o jūsų vartotojai jau sugeneravo naujus duomenis.

Tai, ką norite padaryti, yra tai automatizuoti.

Sprendimas

Yra daugybė būdų, kuriuos galite padaryti norėdami sukurti atsarginę duomenų bazės kopiją, tačiau kiek žmonių naudoja šį paketą https: // github.com / spatie / laravel-backup . Už jos esanti įmonė yra labai patikima ir žinoma pramonėje.

Visų pirma, paketas yra NEMOKAMAS, todėl nereikia nieko mokėti.

Be to, diegimas yra gana paprastas ir man ypač patinka tai, kad jis ne tik daro atsarginę jūsų duomenų bazės kopiją, bet ir galite sukurti atsarginę failų kopiją ir visą tai išsaugoti ZIP faile. Sakydamas failus turiu omenyje saugojimo failus, tokius kaip dokumentų įkėlimai arba failai, kuriuos sugeneruojate kartu su savo programa.

Be to, taip pat galite perkelti tai į „AWS S3“, kuris yra protingas dalykas. Viskas, ką jums reikia padaryti (darant prielaidą, kad jau turite AWS paskyrą, turite eiti ir sukurti naują S3 segmentą su naujais leidimais. Tada galite tiesiog vadovautis dokumentais, pateiktais jų „Github“ puslapyje.

Čia pateikiama greita konfigūracijos failo peržiūra, kurią galite pakoreguoti, kad gautumėte pranešimus per kitas laikmenas, tokias kaip „Slack“ ir „Email“.

„pranešimai“ => [
„pranešimai“ => [
\ 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'],
],
/ *
* Čia galite nurodyti, apie kurį pranešimą reikia pranešti. Numatytasis
* notifiable naudos kintamuosius, nurodytus šiame konfigūracijos faile.
* /
'notifiable' => \ Spatie \ Backup \ Notifications \ Notifiable :: klasė,
'paštas' => [
'to' => ['redaktorius @ linuxhint.com '],
],
'atlaidumas' => [
'webhook_url' => 'https: // kabliukai.palaidumas.lt / paslaugos / ABMGGK7AB / B9PBCDSM8 / kam02gzLrycaUBctgAdRv52M “,
/ *
* Jei tai nustatyta kaip nulinė, bus naudojamas numatytasis „webhook“ kanalas.
* /
'kanalas' => null,
],
],

Nustatykite automatiką

Galiausiai, visa tai neturėtų daug prasmės, jei nuspręstumėte praleisti automatikos dalį. Tam norite pasikliauti „cron“ užduotimis, kurios jau turėtų būti įgalintos pagrindiniame kompiuteryje, ir nurodykite komandą „Laravel“ tvarkaraštis taip:

* * * * * cd / path-to-your-project && php amatininkų tvarkaraštis: paleisti >> / dev / null 2> & 1

Iš čia, savo programoje / konsolėje / branduolyje.php failą turėtumėte atlikti šiuos veiksmus, jei norite jį automatizuoti tam tikru metu (aš tai dažniausiai darau, kai dauguma mūsų vartotojų miega):

jei (programa ('env') == 'gamyba')
$ tvarkaraštis-> komanda ('atsarginė kopija: švari') -> kasdien () -> at ('01: 00 ');
$ tvarkaraštis-> komanda ('atsarginė kopija: vykdoma') -> kasdien () -> ne ('02: 00 ');
Kaip pakeisti pelės žymeklio ir žymeklio dydį, spalvą ir schemą sistemoje „Windows 10“
„Windows 10“ pelės žymeklis ir žymeklis yra labai svarbūs operacinės sistemos aspektai. Tai galima pasakyti ir apie kitas operacines sistemas, taigi, ...
Nemokami ir atvirojo kodo žaidimų varikliai, skirti kurti „Linux“ žaidimus
Šiame straipsnyje bus pateiktas nemokamų ir atvirojo kodo žaidimų variklių, kurie gali būti naudojami kuriant 2D ir 3D žaidimus „Linux“, sąrašas. Toki...
„Tomb Raider for Linux“ pamoka
„Tomb Raider“ šešėlis yra dvyliktas „Tomb Raider“ serijos priedas - veiksmo ir nuotykių žaidimų franšizė, sukurta „Eidos Montreal“. Žaidimą kritikai i...