Fix Kolom bantuan_tersalur"; function columnExists($conn, $table, $column) { $table = $conn->real_escape_string($table); $column = $conn->real_escape_string($column); $result = $conn->query("SHOW COLUMNS FROM `$table` LIKE '$column'"); return $result && $result->num_rows > 0; } function tableExists($conn, $table) { $table = $conn->real_escape_string($table); $result = $conn->query("SHOW TABLES LIKE '$table'"); return $result && $result->num_rows > 0; } function addColumnIfMissing($conn, $table, $column, $definition, $afterColumn = null) { if (columnExists($conn, $table, $column)) { echo "
Kolom $column sudah ada, dilewati.
"; return; } $afterSql = ""; if ($afterColumn && columnExists($conn, $table, $afterColumn)) { $afterSql = " AFTER `$afterColumn`"; } $sql = "ALTER TABLE `$table` ADD COLUMN `$column` $definition $afterSql"; if ($conn->query($sql)) { echo "Kolom $column berhasil ditambahkan.
"; } else { echo "Gagal tambah kolom $column: " . htmlspecialchars($conn->error) . "
"; } } $table = "bantuan_tersalur"; if (!tableExists($conn, $table)) { die("Tabel bantuan_tersalur belum ada. Import database.sql dulu.
"); } // Tambahkan kolom status dulu karena status_konfirmasi ingin diletakkan setelah status. addColumnIfMissing( $conn, $table, "status", "ENUM('Pending','Tersalurkan') NOT NULL DEFAULT 'Tersalurkan'", "created_at" ); addColumnIfMissing( $conn, $table, "status_konfirmasi", "ENUM('Menunggu','Dikonfirmasi','Ditolak') NOT NULL DEFAULT 'Menunggu'", "status" ); addColumnIfMissing( $conn, $table, "nama_penerima_konfirmasi", "VARCHAR(150) DEFAULT NULL", "status_konfirmasi" ); addColumnIfMissing( $conn, $table, "catatan_konfirmasi", "TEXT DEFAULT NULL", "nama_penerima_konfirmasi" ); addColumnIfMissing( $conn, $table, "dikonfirmasi_oleh", "INT DEFAULT NULL", "catatan_konfirmasi" ); addColumnIfMissing( $conn, $table, "tgl_konfirmasi", "TIMESTAMP NULL DEFAULT NULL", "dikonfirmasi_oleh" ); $conn->query("UPDATE `$table` SET status = 'Tersalurkan' WHERE status IS NULL"); $conn->query("UPDATE `$table` SET status_konfirmasi = 'Menunggu' WHERE status_konfirmasi IS NULL"); echo "Selesai. Coba buka dashboard relawan lagi.
"; echo "Setelah berhasil, hapus file fixdata.php dari repo lalu redeploy.