-- =============================================
-- SQL Script untuk modifikasi tabel tbl_spam
-- Database: sipracika
-- Versi SQLyog - Langsung bisa dijalankan
-- =============================================
-- 
-- IMPORTANT: Backup database Anda terlebih dahulu!
-- 
-- Perubahan yang dilakukan:
-- 1. Rename kolom kapasitas menjadi kapasitas_reservoir
-- 2. Menambahkan 7 kolom baru
-- =============================================

-- Step 1: Rename kolom kapasitas menjadi kapasitas_reservoir
-- Gunakan CHANGE untuk kompatibilitas dengan semua versi MySQL/MariaDB
ALTER TABLE `tbl_spam` 
CHANGE COLUMN `kapasitas` `kapasitas_reservoir` DECIMAL(10,2) NULL DEFAULT NULL COMMENT 'Kapasitas Reservoir (m³)';

-- Step 2: Pindahkan kolom kapasitas_reservoir ke posisi yang tepat (setelah sumber_air_pamsimas_id)
-- Catatan: MySQL tidak mendukung AFTER dalam CHANGE, jadi kita perlu menggunakan MODIFY
-- Jika posisi tidak penting, bisa skip step ini
-- ALTER TABLE `tbl_spam` MODIFY COLUMN `kapasitas_reservoir` DECIMAL(10,2) NULL DEFAULT NULL COMMENT 'Kapasitas Reservoir (m³)' AFTER `sumber_air_pamsimas_id`;

-- Step 3: Tambahkan kolom tarif_ada
ALTER TABLE `tbl_spam` 
ADD COLUMN `tarif_ada` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '0 = tidak ada, 1 = ada' 
AFTER `kapasitas_reservoir`;

-- Step 4: Tambahkan kolom tarif_jumlah
ALTER TABLE `tbl_spam` 
ADD COLUMN `tarif_jumlah` TEXT NULL DEFAULT NULL COMMENT 'Jumlah tarif dalam bentuk text, diisi jika tarif_ada = 1' 
AFTER `tarif_ada`;

-- Step 5: Tambahkan kolom kapasitas_terpasang
ALTER TABLE `tbl_spam` 
ADD COLUMN `kapasitas_terpasang` DECIMAL(10,2) NULL DEFAULT NULL COMMENT 'Kapasitas Terpasang (l/s)' 
AFTER `tarif_jumlah`;

-- Step 6: Tambahkan kolom kapasitas_distribusi
ALTER TABLE `tbl_spam` 
ADD COLUMN `kapasitas_distribusi` DECIMAL(10,2) NULL DEFAULT NULL COMMENT 'Kapasitas Distribusi (l/s)' 
AFTER `kapasitas_terpasang`;

-- Step 7: Tambahkan kolom kapasitas_terjual
ALTER TABLE `tbl_spam` 
ADD COLUMN `kapasitas_terjual` DECIMAL(10,2) NULL DEFAULT NULL COMMENT 'Kapasitas Terjual (l/s)' 
AFTER `kapasitas_distribusi`;

-- Step 8: Tambahkan kolom jam_operasional
ALTER TABLE `tbl_spam` 
ADD COLUMN `jam_operasional` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Jam Operasional' 
AFTER `kapasitas_terjual`;

-- Step 9: Tambahkan kolom keberfungsian
ALTER TABLE `tbl_spam` 
ADD COLUMN `keberfungsian` ENUM('berfungsi', 'tidak_berfungsi') NULL DEFAULT NULL COMMENT 'Status keberfungsian' 
AFTER `jam_operasional`;

-- =============================================
-- Verifikasi perubahan
-- =============================================
-- Jalankan query berikut untuk memverifikasi struktur tabel:
-- DESCRIBE `tbl_spam`;
-- atau
-- SHOW COLUMNS FROM `tbl_spam`;

-- =============================================
-- Catatan:
-- =============================================
-- Jika kolom kapasitas_reservoir sudah ada (dari rename sebelumnya),
-- maka query ADD COLUMN akan error. 
-- Jika terjadi error, hapus statement yang sudah dijalankan dan lanjutkan dari statement berikutnya.
