Konfigurasi Database MySQL di Laravel

Konfigurasi Database MySQL di Laravel

Tutorial Sebelumnya:

Tutorial Laravel #7Cara Request Data pada Laravel

Konfigurasi Dasar pada Laravel

Laravel menyediakan sebuah fitur yang sangat memudahkan kita dalam melakukan konfigurasi yaitu Environmental Configuration.

Setelah melakukan Instalasi Laravel akan ada sebuah file yang bernama .env yang terletak di direktori paling luar project laravel kita.

Isi file .env adalah konfigurasi atau pengaturan-pengaturan project laravel, semua konfigurasi digabung di dalam file .env ini.

Tujuan file .env agar memudahkan kita dalam mengubah pengaturan yang ingin kita sesuaikan dengan project yang ingin kita buat dengan laravel.

Berikut ini isi default dari file .env:

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:WjNwW0/q9tB3H47e9v6tt+nzOZuYvIyBQsrMR71DfNg=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DRIVER=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

MEMCACHED_HOST=127.0.0.1

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

Sebenarnya semua konfigurasi dari laravel berada dalam folder config dan terpisah-pisah menjadi beberapa file. Misalnya untuk konfigurasi database pada laravel ada di file database.php, untuk konfigurasi mailing ada di file mail.php, untuk konfigurasi aplikasi ada dalam folder app.php, dan pengaturan-pengaturan lainnya.

Berikut ini isi dari folder config Laravel:

Config Folder Laravel
Config Folder Laravel

Jadi dengan ada nya file .env ini, semua pengaturan berada dalam satu buah file ini saja, sehingga kita tidak perlu berpindah-pindah file jika ingin mengubah-ubah pengaturan project laravel.

Semua konfigurasi yang ada dalam file .env ini lebih diutamakan di bandingkan pengaturan pada file lainnya yang ada dalam folder config.

Misalnya jika kita mengatur database dengan nama “penjualan” di dalam file config/database.php. Kemudian kita juga mengatur database dengan nama “perpustakaan” di file .env, maka database perpustakaan yang di file .env yang akan digunakan. Karena konfigurasi yang ada dalam file .env lebih diutamakan dibandingkan pengaturan yang ada pada folder config. Kecuali jika file .env kita hapus, maka barulah pengaturan di dalam folder config yang akan dijalankan.

Perhatikan file .env pada gambar berikut:

File .env Laravel
File .env Laravel

Terdapat dua buah file .env namun satunya dengan nama .env.example. File example tersebut sebenarnya adalah file backup saja jika suatu saat kita salah mengubah file .env. Dengan adanya file example, kita bisa mengembalikan settingan ke default dengan cara melihat isi dari file .env.example.

Caching Konfigurasi

Untuk mempercepat loading aplikasi yang kita buat, kita dapat men-cache semua konfigurasi yang telah kita setting menjadi dalam satu file. Ini akan menggabungkan semua opsi konfigurasi menjadi satu file dan dapat dimuat lebih cepat oleh framework. Untuk menjalankan perintah cache dapat menggunakan perintah php artisan seperti berikut ini:

php artisan config:cache

Setelah perintah di atas dijalankan, file .env tidak akan lagi dimuat karena Laravel sudah memuat hasil cache konfigurasi. Namun sebaiknya konfigurasi ini dijalankan hanya ketika aplikasi yang telah kita buat sudah dalam status production, bukan masih tahap development yang mana kita masih sering mengubah-ubah file konfigurasi.

Sedangkan untuk membersihkan cache, kamu dapat menggunakan perintah berikut:

php artisan config:clear

Debug Mode

Di dalam konfigurasi .env pada Laravel, terdapat variable APP_DEBUG yang bernilai default true. Dalam tahap development, tetap biarkan APP_DEBUG bernilai true agar pesan-pesan error yang terjadi dalam tahap development terlihat oleh kita. Namun jika aplikasi sudah dalam production, sebaiknya kita mengatur APP_DEBUG menjadi false agar informasi sensitif yang ada dalam konfigurasi kita tidak terlihat oleh pengunjung.

Maintenance Mode

Berbeda dengan framework PHP lain, Laravel memiliki kelebihan dengan fitur yang keren, salah satunya adalah mode maintenance.

Jika kita mengembangkan aplikasi menggunakan Laravel, kita bisa membuat status aplikasi menjadi maintenance atau dalam masa pengembangan. Dengan begitu pengunjung akan tahu bahwa aplikasi sedang dalam pengembangan atau perbaikan.

Untuk mengaktifkan fitur maintenance, kita bisa mengaktifkannya dengan salah satu perintah php artisan berikut ini:

php artisan down

Dengan menjalankan perintah di atas, maka akan muncul pemberitahuan bahwa aplikasi sekarang sedang dalam mode maintenance.

Akan tampil halaman simple dengan pemberitahuan pesan HTTP 503 (Service Unavailable) seperti di bawah ini.

Maintenance Mode Laravel
Maintenance Mode Laravel

Anda dapat mengubah tampilan halaman di atas di resources/views/errors/503.blade.php

Untuk menonaktifkan mode maintenance, ketikkan perintah di bawah ini:

php artisan up

Dengan menjalankan perintah di atas, maka akan muncul pemberitahuan bahwa aplikasi sekarang sudah live kembali. Sekarang project kita telah aktif kembali karena mode maintenance laravel sudah kita nonaktifkan.

Perintah php-artisan-up Laravel
Perintah php-artisan-up Laravel

Sekian tutorial Konfigurasi Database di Laravel, pada tutorial selanjutnya kita akan belajar Cara Memasang Template di Laravel.

Tutorial Selanjutnya:

Tutorial Laravel #9: Cara Memasang Template di Laravel

Web Programmer. Flutter Developer. Content Creator. Founder Ayongoding.com. Penyuka minuman sachet. Menulis pakai tangan kanan. Masih main mobilan remot. Dan pernah kuliah Sistem Informasi sampai lulus.

Leave a Reply

Your email address will not be published. Required fields are marked *