Skip to content

Tabel users

Kolom

Nama KolomTipe DataConstraintDeskripsi
idTEXTPRIMARY KEYID unik pengguna
full_nameVARCHARNama lengkap pengguna
emailVARCHARNOT NULL, UNIQUEEmail pengguna
passwordTEXTNOT NULLPassword terenkripsi
is_verifiedBOOLEANDEFAULT falseStatus apakah akun sudah diverifikasi oleh admin
created_atTIMESTAMP WITH TIME ZONEDEFAULT CURRENT_TIMESTAMPWaktu pembuatan akun
roleTEXTNOT NULL, DEFAULT 'pengelola', CHECK (role IN ('admin', 'pengelola', 'pengguna', 'dinas'))Role pengguna: admin, pengelola, pengguna, dinas

Enum Values

Role:

  • admin - Administrator sistem
  • pengelola - Pengelola desa wisata
  • pengguna - Pengguna umum
  • dinas - Pegawai dinas pariwisata

Relasi

  • Tabel desa_wisata.email → foreign key ke users.email
  • Tabel permintaan.email → foreign key ke users.email
  • Tabel password_resets.email → foreign key ke users.email

SQL Query

sql
-- 1. Users Table
CREATE TABLE public.users (
  id TEXT NOT NULL PRIMARY KEY,
  full_name VARCHAR,
  email VARCHAR NOT NULL UNIQUE,
  password TEXT NOT NULL,
  is_verified BOOLEAN DEFAULT false,
  created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
  role TEXT NOT NULL DEFAULT 'pengelola' CHECK (role IN ('admin', 'pengelola', 'pengguna', 'dinas'))
);