laravel

Laravel Cara membuat cadangan database

Laravel Cara membuat cadangan database

Masalah

Sayangnya, banyak pengembang Laravel baru tidak menyadari hal ini sampai mereka memasukkan kode mereka ke dalam produksi, dan sesuatu terjadi sehingga mereka kehilangan data.

Laravel tidak menawarkan cadangan basis data sebagai bagian dari fungsionalitas inti mereka sehingga pengembang Laravel baru tidak dapat bekerja dengan itu saat membaca artikel Laravel atau membangun aplikasi Laravel.

Saat ini, menyimpan dan melestarikan data cadangan Anda menjadi hal yang semakin penting jika sewaktu-waktu Anda perlu menggunakannya.

Kesalahan umum yang dilakukan pengembang Laravel baru adalah membuka phpmyadmin dan mencoba menjalankan ekspor ini secara manual. Meskipun ini akan tetap berfungsi, ini bukan praktik terbaik karena terkadang Anda tidak akan berada di sana untuk membuat cadangan, dan pengguna Anda telah membuat data baru.

Yang ingin Anda lakukan adalah mengotomatiskan itu.

Larutan

Ada banyak cara yang dapat Anda lakukan untuk membuat cadangan database Anda, tetapi berapa banyak orang yang menggunakan paket ini https://github.com/spatie/laravel-backup . Perusahaan di belakangnya sangat andal dan dikenal di industri ini.

Pertama-tama, paket ini GRATIS, jadi Anda tidak perlu membayar apa pun.

Di sisi positifnya, instalasinya cukup sederhana dan yang saya suka khususnya adalah tidak hanya melakukan backup database Anda, Anda juga memiliki pilihan untuk membuat cadangan file Anda dan kemudian menyimpan semua itu dalam file zip. Ketika saya mengatakan file, maksud saya file penyimpanan, seperti unggahan dokumen atau file yang Anda buat dengan aplikasi Anda.

Selain itu, Anda juga dapat memindahkannya ke AWS S3 yang merupakan hal yang cerdas untuk dilakukan. Yang perlu Anda lakukan adalah (dengan asumsi Anda sudah memiliki akun AWS, adalah pergi dan membuat ember S3 baru dengan izin baru. Kemudian Anda bisa mengikuti dokumentasi di halaman Github mereka.

Berikut adalah pratinjau cepat dari file konfigurasi yang dapat Anda atur sehingga Anda menerima pemberitahuan melalui media lain seperti Slack dan Email.

'pemberitahuan' => [
'pemberitahuan' => [
\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'],
],
/*
* Di sini Anda dapat menentukan notifikasi yang harus dikirimi notifikasi. Standarnya
* yang dapat diberitahukan akan menggunakan variabel yang ditentukan dalam file konfigurasi ini.
*/
'notifiable' => \Spatie\Backup\Notifications\Notifiable::class,
'surat' => [
'ke' => ['[email protected]'],
],
'kendur' => [
'webhook_url' => 'https://hooks.kendur.com/services/ABMGGK7AB/B9PBCDSM8/kam02gzLrycaUBctgAdRv52M',
/*
* Jika ini disetel ke nol, saluran default webhook akan digunakan.
*/
'saluran' => nol,
],
],

Siapkan otomatisasi

Akhirnya, semua ini tidak masuk akal jika Anda memutuskan untuk melewatkan bagian otomatisasi. Untuk ini, Anda ingin mengandalkan pekerjaan cron yang seharusnya sudah diaktifkan di host Anda dan arahkan ke perintah jadwal Laravel seperti ini:

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

Dari sini, di aplikasi/Konsol/Kernel Anda.php Anda harus melakukan hal berikut jika Anda ingin mengotomatiskannya pada waktu tertentu (saya biasanya melakukan ini ketika sebagian besar pengguna kami tertidur):

if (aplikasi('env') == 'produksi')
$schedule->command('backup:clean')->daily()->at('01:00');
$schedule->command('backup:run')->daily()->at('02:00');
Pertempuran untuk Tutorial Westnoth
The Battle for Wesnoth adalah salah satu game strategi open source terpopuler yang bisa kamu mainkan saat ini. Tidak hanya game ini telah dikembangkan...
0 A.D. tutorial
Dari sekian banyak game strategi di luar sana, 0 A.D. berhasil menonjol sebagai judul yang komprehensif dan permainan taktis yang sangat dalam meskipu...
Tutorial Unity3D
Pengantar Unity 3D Unity 3D adalah mesin pengembangan game yang tangguh. Ini adalah lintas platform yang memungkinkan Anda membuat game untuk seluler,...