Cara Menghosting Laravel di Vercel dengan TiDB sebagai database SQL

Assalammualaikum gaes,

Pernah kepikiran ga, gimana caranya kita bisa hosting aplikasi laravel kita secara gratis dengan fitur database? Kalau pun ada biasanya kapasitasnya terbatas dan tidak ada integrasi dengan github…

Nahh pas aku browsing browsing ternyata laravel bisa di hosting menggunakan vercel, namun karnena sifatnya yang serverless kita perlu beberapa konfigurasi, dan ada beberapa kekurangan seperti tidak bisa write atau upload file karena penyimpananya bersifat sementara.

Cara Menggunakan TIDB di Laravel

📒 sebelum itu pastikan kamu telah memiliki akun github dan vercel ya…

1️⃣ Buat project laravel

buka terminal lalu ketikan perintah berikut

code

setelah itu buka folder

2️⃣ Buat Cluster dan Database

  • Klik
  • Ubah nama cluster jika diinginkan.
  • Lalu klik create
  • Lalu kita akan diarahkan ke halaman seperti ini

    Horee kita sudah berhasil membuat cluster untuk database kita ✨

    Setelah itu kita buat database baru untuk project laravel kita

  • klik chat2query yang ada disebelah kiri
  • setelah itu ketikan perintah berikut lalu klik run
  • code
  • Maka hasilnya akan muncul database laravel_vercel
  • 3️⃣ Menghubungkan Laravel dengan database

    📒 Sebelumnya pastikan kamu sudah kembali ke halaman overview ya

  • Klik connect di sebelah pojok kanan atas lalu akan muncul popup seperti berikut
  • Klik generate password (jika belum)
  • setelah itu ganti database yang awalnya test menjadi nama database yang telah kita buat yakni
  • Ganti opsi Connect With menjadi .env lalu klik icon copy didalam box
  • Oiya kamu juga perlu untuk mendownload CA cert untuk mengamankan koneksi ke tidb, hal iin wajib, jika tidak maka akan terjadi error
  • Setelah mendowload simpan dalam root project

  • Pastekan kedalam file .env di project laravel, dan hasilnya kurang lebih seperti ini
  • tambahkan config berikut untuk mengkonfigurasi CA cert yang telah kita download ke laravel
  • 📒 Note: path harus berupa absolute path dan bukan relative path, karena relative path tidak akan bekerja.

    untuk mendapatkan absolute path dalam vscode anda bisa mengklik kanan pada file tersebut lalu klik copy

    4️⃣ Testing koneksi

    setelah menkonfigurasi project saatnya kita test apakah sudah benar benar terhubung ke tidb atau belum. Caranya cukup mudah, ikuti langkah berikut

  • Buat seeder untuk table user dengan membuka file
  • save file DatabaseSeeder.php lalu jalankan migrasi dan seed bersamaan dengan perintah
  • jika berhasil maka artinya koneksi ke database sudah berhasil
  • 5️⃣ Konfigurasi untuk deploy di vercel

    setelah kita pastikan aplikasi berjalan lancar di lokal saatnya kita mendeploy aplikasi tersebut agar bisa diakses oleh semua orang.

  • Buat file
  • code
  • Buat file
  • Buat file
  • code

    kamu tidak perlu merubah apapun dari kode diatas

    Yay untuk konfigurasi selesai, saatnya kita deploy ke vercel

    6️⃣ Deploy project ke vercel

  • buat repository github
  • push project kalian ke github
  • buka vercel
  • buat project dan masukkan env APP_KEY dengan value APP_KEY yang ada file .env project kita, masukkan juga seluruh env terkait database
  • Klik deploy, dan yay project laravel kita sudah berhasil dideploy
  • Beberapa error yang sering di temukan

  • APP_KEY error
  • Project not found
  • build error
  • max function reached