Connection Strings
Setelah membuat role, PlanetScale akan menampilkan connection string. Halaman ini menjelaskan cara menemukan dan menggunakannya.
Menemukan Connection String
- Buka PlanetScale Dashboard
- Pilih database kamu
- Klik tab “Connect”
- Pilih branch yang ingin dihubungkan (
main untuk production)
- Pilih role yang sudah dibuat
- Pilih format: “psql” atau “URL”
PlanetScale menyediakan dua tipe connection string:
Direct Connection (tanpa pooling)
postgresql://ROLE_NAME:PASSWORD@aws.connect.psdb.cloud/DATABASE_NAME?sslmode=require
Digunakan untuk:
- Menjalankan Drizzle migrations (
bun run db:migrate)
- Drizzle Studio (
bun run db:studio)
- Development lokal
Pooled Connection (via PgBouncer)
postgresql://ROLE_NAME:PASSWORD@aws.connect.psdb.cloud/DATABASE_NAME?sslmode=require&pgbouncer=true
Digunakan untuk:
- Production app (Vercel)
- Serverless functions
Untuk aplikasi di Vercel (serverless), selalu gunakan pooled connection. Setiap request Vercel bisa membuka koneksi baru — tanpa pooling, kamu bisa melebihi batas koneksi PlanetScale.
Konfigurasi di Project Cekolah
Project ini sudah dikonfigurasi dengan benar di packages/database/src/index.ts:
// 2 koneksi untuk production, 10 untuk development
const connectionLimit = process.env.NODE_ENV === "production" ? 2 : 10;
Cukup tambahkan DATABASE_URL ke environment variables — tidak perlu ubah kode lain.
Environment Variables yang Dibutuhkan
| Variable | Keterangan |
|---|
DATABASE_URL | Connection string utama (wajib) |
Branches di PlanetScale
PlanetScale memiliki konsep database branching mirip Git branching:
| Branch | Gunakan untuk |
|---|
main | Production — data real |
staging | Testing sebelum ke production |
| Development branch | Eksperimen schema tanpa risiko |
Setiap branch punya connection string sendiri. Pastikan Vercel production menggunakan connection string dari branch main.