"""seed.py — seeding data awal lewat aplikasi dengan PyMySQL.

Jalankan dari folder chapter:  python3 seed.py
Idempoten: INSERT IGNORE melewati baris yang id-nya sudah ada.
Port default 3306; timpa lewat variabel lingkungan DB_PORT.
"""

import os

import pymysql

port = int(os.environ.get("DB_PORT", "3306"))

produk_tambahan = [
    (4, "Susu Kental", 38000, 15),
    (5, "Kopi Robusta", 48000, 20),
    (6, "Teh Hijau", 30000, 25),
]

pelanggan_tambahan = [
    (3, "Rina Wijaya", "rina@example.com"),
    (4, "Dedi Kurniawan", "dedi@example.com"),
]

with pymysql.connect(
    host="127.0.0.1",
    user="root",
    password="",
    database="belajar_app",
    port=port,
) as koneksi:
    with koneksi.cursor() as kursor:
        kursor.executemany(
            "INSERT IGNORE INTO produk (id, nama, harga, stok) VALUES (%s, %s, %s, %s)",
            produk_tambahan,
        )
        print("produk baru masuk  :", kursor.rowcount)

        kursor.executemany(
            "INSERT IGNORE INTO pelanggan (id, nama, email) VALUES (%s, %s, %s)",
            pelanggan_tambahan,
        )
        print("pelanggan baru masuk:", kursor.rowcount)

    koneksi.commit()

    with koneksi.cursor() as kursor:
        kursor.execute("SELECT COUNT(*) FROM produk")
        total_produk = kursor.fetchone()[0]
        kursor.execute("SELECT COUNT(*) FROM pelanggan")
        total_pelanggan = kursor.fetchone()[0]

    print(f"isi tabel sekarang: {total_produk} produk, {total_pelanggan} pelanggan")
