Jalankan SQL berikut di SQL Editor Supabase sesuai kondisi database Anda.
1. Setup Awal (Database Baru)
-- Buat tabel users
CREATE TABLE IF NOT EXISTS users (
username TEXT PRIMARY KEY,
password TEXT NOT NULL,
name TEXT NOT NULL,
role TEXT NOT NULL DEFAULT 'staff',
created_at TIMESTAMPTZ DEFAULT NOW()
);
-- Seed data default
INSERT INTO users (username, password, name, role) VALUES
('ADMIN', 'admin123', 'Administrator', 'admin'),
('FAZA', 'faza123', 'FAZA', 'staff'),
('ZEFA', 'zefa123', 'ZEFA', 'staff'),
('AMIN', 'amin123', 'AMIN', 'staff'),
('ERWIN', 'erwin123', 'ERWIN', 'staff'),
('PEBI', 'pebi123', 'PEBI', 'staff')
ON CONFLICT (username) DO NOTHING;
-- Buat tabel tickets
CREATE TABLE IF NOT EXISTS tickets (
id TEXT PRIMARY KEY,
connote TEXT NOT NULL,
pic TEXT,
complaint TEXT,
reason TEXT,
coding_destination TEXT,
status TEXT DEFAULT 'open',
remark TEXT,
bukti_foto TEXT,
created_by TEXT,
updated_by TEXT,
reopen_count INTEGER DEFAULT 0,
reopen_date TIMESTAMPTZ,
date_in_progress TIMESTAMPTZ,
date_on_confirm TIMESTAMPTZ,
date_resolved TIMESTAMPTZ,
resolved_at TIMESTAMPTZ,
closed_at TIMESTAMPTZ,
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
2. Alter Kolom (Database Sudah Ada)
-- Tambah kolom yang belum ada
ALTER TABLE tickets ADD COLUMN IF NOT EXISTS date_in_progress TIMESTAMPTZ;
ALTER TABLE tickets ADD COLUMN IF NOT EXISTS date_on_confirm TIMESTAMPTZ;
ALTER TABLE tickets ADD COLUMN IF NOT EXISTS date_resolved TIMESTAMPTZ;
ALTER TABLE tickets ADD COLUMN IF NOT EXISTS reopen_date TIMESTAMPTZ;
ALTER TABLE tickets ADD COLUMN IF NOT EXISTS reopen_count INTEGER DEFAULT 0;
ALTER TABLE tickets ADD COLUMN IF NOT EXISTS remark TEXT;
ALTER TABLE tickets ADD COLUMN IF NOT EXISTS bukti_foto TEXT;
ALTER TABLE tickets ADD COLUMN IF NOT EXISTS created_by TEXT;
ALTER TABLE tickets ADD COLUMN IF NOT EXISTS updated_by TEXT;
ALTER TABLE tickets ADD COLUMN IF NOT EXISTS resolved_at TIMESTAMPTZ;
ALTER TABLE tickets ADD COLUMN IF NOT EXISTS closed_at TIMESTAMPTZ;
3. Migrasi Data Existing
-- Isi tanggal berdasarkan status saat ini
UPDATE tickets SET date_in_progress = updated_at
WHERE status IN ('in_progress','on_confirm','resolved','closed')
AND date_in_progress IS NULL;
UPDATE tickets SET date_on_confirm = updated_at
WHERE status IN ('on_confirm','resolved','closed')
AND date_on_confirm IS NULL;
UPDATE tickets SET date_resolved = COALESCE(resolved_at, updated_at)
WHERE status IN ('resolved','closed')
AND date_resolved IS NULL;
UPDATE tickets SET reopen_count = 0 WHERE reopen_count IS NULL;
UPDATE tickets SET created_by = pic WHERE created_by IS NULL;
ConnoteTrackingCCC
Monitoring & Ticketing System
ConnoteTracker
Selamat Datang, Admin
0
Open
0
In Progress
0
On Confirm
0
Resolved
0
Overdue (>7 hari)
Anda punya Ticket > 1 hari belum di-update.
Ticket Terbaru (Open)
Memuat data...
Top 5 Complaint
Daftar User Login
Kelola akun pengguna yang dapat mengakses sistem.
No
Username
Nama
Role
Aksi
Belum Ada User
Edit Password User
Ubah password akun pengguna.
Menu Ticketing
Kelola semua ticket complaint dan monitoring.
Reminder: Anda punya ticket > 1 hari belum di-update.
0
Open
0
In Progress
0
On Confirm
0
Resolved
0
Overdue (>7 hari)
No
Connote
PIC
Complaint
Destination
Status
Age
Created
Updated
Aksi
Tidak Ada Ticket
Klik "Input Connote" untuk menambahkan ticket baru
Memuat data ticket...
Input Ticket Baru
Detail Ticket
Tambah User Baru
Export Data
File akan disimpan sebagai .csv (bisa dibuka di Excel)