Konfigurasi dan Penggunaan SQLite di Laravel

Yugo
Laravel Indonesia
Published in
2 min readApr 12, 2017

Laravel mendukung berbagai driver pangkalan data (database). Beberapa driver yang sering digunakan oleh pemrogram adalah MySQL, PostgreSQL, dan SQLite. Dari ketiga pangkalan data tersebut, SQLite cukup sederhana untuk digunakan dan didistribusikan.

Walaupun kesemua pangkalan data di atas harus diinstal terpisah, namun distribusi data untuk SQLite jauh lebih mudah dibanding dengan yang lain. Karena datanya disimpan dalam berkas fisik yang letaknya bisa kita tentukan sesuka hati, bahkan secara bawaan berada dalam direktori aplikasi.

SQLite sendiri biasa saya gunakan untuk aplikasi demo, serta distribusi aplikasi antar pemrogram (untuk aplikasi uji coba) yang tidak butuh impor maupun ekspor data yang cukup membuang waktu bagi pemrogram lainnya.

Lantas, bagaimana menggunakan SQLite di Laravel?

Instal SQLite di Mesin Lokal

Untuk sistem operasi berbasis Ubuntu, kita dapat menjalankan perintah di bawah untuk menginstal SQLite.

$ sudo apt install sqlite3 php-sqlite3

Sedangkan untuk sistem operasi lain, instalasi dapa dibaca langsung pada panduan halaman resmi SQLite.

Mengubah Konfigurasi di Laravel

Hal pertama, buah terlebih dahulu berkas kosong dengan nama database dan ekstensi .sqlite di dalam direktori database. Melalui console, kita bisa mengetikkannya sebagai berikut:

$ touch database/database.sqlite

Kemudian, buka berkas .env, ubah database driver dan hapus konfigurasi host, port, database, username, dan password.

Sebelum:

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

Sesudah:

DB_CONNECTION=sqlite

Sampai di sini, Laravel sudah siap menggunakan SQLite untuk pengembangan. Untuk mengujicoba apakah sudah terhubung dengan pangkalan data, kita bisa menjalankan migration bawaan Laravel.

$ php artisan migrate

Bagaimana Laravel Mengetahui Lokasi Pangkalan Data?

Jika kita buka pada berkas config/database.php di key connections.sqlite, akan didapati konfigurasi database yang diambil pada environment DB_DATABASE. Karena pada konfigurasi di atas kita menghilangkan DB_DATABASE, maka fungsi env() mengambalikan nilai default dari fungsi database_path('database.sqlite').

Fungsi database_path() sendiri akan mengembalikan nilai string nama direktori pangkalan data Laravel. Jika diisi argumen, maka akan mengembalikan path lengkap posisi pangkalan data, seperti pangkalan data yang kita buat di atas.

Originally published at www.laravel.web.id on April 12, 2017.

--

--