BAB 25: Konfigurasi Database
Menghubungkan aplikasi Laravel ke database MySQL dan mengatur environment variables.
Proyek sudah berdiri, nama aplikasi sudah disetel, dan php artisan serve sudah berjalan. Satu hal yang belum ada: koneksi ke database. Tanpa itu, aplikasi tidak bisa menyimpan atau membaca satu record pun.
Membuat Database
Buat database di MySQL sebelum mengonfigurasi Laravel. Masuk ke MySQL client:
mysql -u root -p
Buat database baru dengan encoding yang benar:
CREATE DATABASE manajemen_catatan CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Keluar dari MySQL:
EXIT;
utf8mb4 dipilih karena mendukung semua karakter Unicode termasuk emoji — lebih lengkap dibanding utf8 biasa yang hanya mendukung sebagian karakter.
Mengatur Koneksi di .env
Buka file .env di root proyek, temukan bagian database, dan sesuaikan dengan kredensial MySQL kamu:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=manajemen_catatan
DB_USERNAME=root
DB_PASSWORD=
Kosongkan DB_PASSWORD jika MySQL tidak menggunakan password. Ganti DB_USERNAME dan DB_PASSWORD sesuai user MySQL yang kamu gunakan.
Jangan pernah commit file .env ke Git. File ini berisi kredensial database. Laravel sudah memasukkan .env ke .gitignore secara default — pastikan baris itu tidak dihapus.
Memverifikasi Koneksi
Cara tercepat memverifikasi koneksi adalah menjalankan migrasi bawaan Laravel:
php artisan migrate
Jika koneksi berhasil, Laravel menjalankan semua file di database/migrations/ dan menampilkan output seperti ini:
INFO Running migrations.
0001_01_01_000000_create_users_table .......................... 35ms DONE
0001_01_01_000001_create_cache_table .......................... 19ms DONE
0001_01_01_000002_create_jobs_table ........................... 18ms DONE
Tiga tabel ini adalah bawaan Laravel — untuk users, cache, dan background jobs. Kita akan menambahkan tabel catatan di bab berikutnya.
Menangani Error Koneksi
Dua error yang paling umum muncul di tahap ini:
SQLSTATE[HY000] [1045] Access denied— username atau password salah. Periksa kembaliDB_USERNAMEdanDB_PASSWORDdi.env.SQLSTATE[HY000] [1049] Unknown database— databasemanajemen_catatanbelum dibuat. Kembali ke langkah pertama di bab ini.
Setelah migrate berjalan tanpa error, koneksi database sudah siap. Langkah selanjutnya adalah membuat model dan migrasi untuk tabel catatan.