TutorialBagian 6 dari 12

Menyiapkan Basis Data Supabase

Membuat proyek Supabase dan menjalankan satu berkas SQL yang menyiapkan seluruh tabelnya.

Isi halaman ini

Supabase menangani akun pengguna, pengaturan yang dapat diubah tanpa memasang ulang, serta data kegiatan sosialisasi. Seluruhnya disiapkan oleh satu berkas SQL.

Langkah 1 — Buat proyek

  1. Buka https://supabase.com, daftar (gratis, dapat memakai akun GitHub).
  2. Tekan New Project.
  3. Beri nama, misalnya dimetil-<nama-daerah>.
  4. Buat kata sandi basis data dan simpan baik-baik — sulit dipulihkan.
  5. Pilih wilayah server terdekat, misalnya Singapura.
  6. Tunggu beberapa menit sampai proyeknya siap.

Langkah 2 — Catat tiga kunci

Buka Project Settings → API, lalu catat:

Yang dicatatNanti disimpan sebagai
Project URLNEXT_PUBLIC_SUPABASE_URL
anon public keyNEXT_PUBLIC_SUPABASE_ANON_KEY
service_role keySUPABASE_SERVICE_ROLE_KEY

Langkah 3 — Aktifkan masuk dengan e-mail

Buka Authentication → Providers, pastikan Email aktif.

Bila Anda juga ingin menyediakan tombol Masuk dengan Google, aktifkan penyedia Google pada halaman yang sama dan ikuti petunjuk Supabase untuk mengisi Client ID dan Client Secret dari Google Cloud Console. Ini opsional — DIMETIL tetap berjalan tanpanya.

Langkah 4 — Jalankan berkas SQL

Inilah langkah intinya.

  1. Buka berkas docs/sql/00_pasang_lengkap.sql dari kode program yang sudah Anda salin.
  2. Salin seluruh isinya.
  3. Di Supabase, buka SQL EditorNew query.
  4. Tempel, lalu tekan Run.

Berkas itu menyiapkan sekaligus:

TabelIsi
profilesAkun & perannya, beserta pengerasan keamanannya
app_settingsPengaturan yang dapat diubah tanpa memasang ulang
spm_respondenJawaban kuis & pre/post-test
peserta_kegiatanDaftar hadir & dasar e-piagam
kegiatanIdentitas & kendali tiap kegiatan
dok_halaman, dok_revisiNaskah panduan yang sedang Anda baca

Langkah 5 — Pastikan berhasil

Tempel dan jalankan pemeriksaan ini pada SQL Editor:

sql
select table_name from information_schema.tables
 where table_schema = 'public'
   and table_name in ('profiles','app_settings','spm_responden',
                      'peserta_kegiatan','kegiatan','dok_halaman','dok_revisi')
 order by table_name;

Seharusnya muncul tujuh baris. Bila kurang, jalankan ulang berkas SQL-nya dan perhatikan pesan galat yang muncul.

Langkah 6 — Jadikan akun Anda admin

Peran tidak dapat dipilih sendiri saat mendaftar — itu disengaja, agar tak seorang pun dapat mengangkat dirinya menjadi admin lewat aplikasi.

Karena itu akun admin pertama dinaikkan dari Supabase:

  1. Jalankan aplikasinya, buka halaman /register, daftarkan akun Anda.
  2. Buka e-mail, klik tautan verifikasinya.
  3. Di Supabase, buka Table Editor → profiles.
  4. Temukan baris berisi e-mail Anda.
  5. Ubah kolom role dari pemilikUTTP menjadi adminInstansi.
  6. Keluar dari aplikasi, lalu masuk kembali.

Menu petugas akan muncul.

Bila terjadi galat

PesanSebab & tindakan
permission deniedAnda tidak memakai SQL Editor pemilik proyek
relation already existsAman — tabelnya memang sudah ada, abaikan
syntax errorSalinan berkasnya tidak utuh; salin ulang seluruhnya

Bila aplikasi sudah berjalan, gunakan halaman Diagnostik Sistem — ia memeriksa setiap tabel dan menyebutkan mana yang belum ada.

Selanjutnya

Isi identitas instansi Anda pada berkas pengaturan.