Skip to main content
Database production memakai Neon — Postgres serverless. Connection string disimpan di .env.production.local (bukan di .env shared kalau beda dengan DB lokal).
Logo Neon
Console: console.neon.tech
Docs: neon.com/docs

Env di project

Dev lokal biasanya Postgres di laptop — override di .env.development.local:

Setup Neon (pertama kali)

1

Buat project

Neon ConsoleNew Project → pilih region (dekat user / Cloudflare)
2

Ambil connection string

Project Dashboard → tombol Connect → pilih:
  • Branch: main / production
  • Connection pooling: ON (hostname berisi -pooler) — disarankan untuk Workers
  • Copy string postgresql://...
3

Simpan aman

Paste ke .env.production.local sebagai DATABASE_URL.
Jangan commit — file ini di-gitignore.
4

Migrate saat deploy

./thub deploy / deploy-prod.sh menjalankan migrate SQL ke DATABASE_URL production.

Pooled vs direct

Neon docs: Connection pooling

Verifikasi koneksi

CI/CD (GitHub Actions)

Secret DATABASE_URL di environment production — isi sama dengan Neon production. Script ci-materialize-env.sh menulis ke .env.production.local sebelum deploy.

Troubleshooting