-- =========================================================
-- MIGRATION v2 — untuk yang SUDAH pernah import schema versi lama.
-- Menambah fitur: status bayar/bon di penjualan, pembelian supplier,
-- tracking pengiriman. Data lama tetap aman.
-- Kalau setup dari nol, SKIP file ini (cukup import schema.sql terbaru).
-- =========================================================

-- Penjualan: tambah status bayar & bon
ALTER TABLE transaksi
    ADD COLUMN status_bayar ENUM('lunas','bon') NOT NULL DEFAULT 'lunas' AFTER margin,
    ADD COLUMN nama_pengutang VARCHAR(100) DEFAULT NULL AFTER status_bayar,
    ADD COLUMN tanggal_lunas TIMESTAMP NULL DEFAULT NULL AFTER nama_pengutang;

-- Kolom diskon (kalau belum ada dari migration tombol sebelumnya)
-- Kalau error "Duplicate column", abaikan — berarti sudah ada.
ALTER TABLE transaksi
    ADD COLUMN diskon DECIMAL(12,2) NOT NULL DEFAULT 0 AFTER ongkir_ke_pelanggan;

-- Pembelian dari supplier
CREATE TABLE IF NOT EXISTS pembelian (
    id INT AUTO_INCREMENT PRIMARY KEY,
    supplier VARCHAR(100) NOT NULL,
    total DECIMAL(12,2) NOT NULL DEFAULT 0,
    status_bayar ENUM('lunas','belum') NOT NULL DEFAULT 'belum',
    status_kirim ENUM('dipesan','dikirim','sampai') NOT NULL DEFAULT 'dipesan',
    tanggal_order TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    tanggal_sampai TIMESTAMP NULL DEFAULT NULL,
    tanggal_bayar TIMESTAMP NULL DEFAULT NULL,
    dicatat_oleh_chat_id BIGINT NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS pembelian_item (
    id INT AUTO_INCREMENT PRIMARY KEY,
    pembelian_id INT NOT NULL,
    produk_id INT NOT NULL,
    jumlah INT NOT NULL,
    harga_modal DECIMAL(12,2) NOT NULL,
    FOREIGN KEY (pembelian_id) REFERENCES pembelian(id),
    FOREIGN KEY (produk_id) REFERENCES produk(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- bot_state versi baru pakai data_json. Drop yang lama, buat baru.
DROP TABLE IF EXISTS bot_state;
CREATE TABLE bot_state (
    chat_id BIGINT PRIMARY KEY,
    step VARCHAR(40) NOT NULL,
    data_json TEXT DEFAULT NULL,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
