<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

/**
 * MENGAPA MIGRATION INI DIBUAT:
 * Sprint 2.1 Storefront memerlukan informasi ketersediaan stok produk.
 *
 * Business rule yang disepakati:
 *   - stock = NULL  → stok tidak dikelola (produk selalu tersedia)
 *   - stock = 0     → stok habis (tampil badge "Habis", tombol beli disabled)
 *   - stock > 0     → stok tersedia
 *
 * Kolom ini ADDITIVE: data lama tidak terpengaruh (semua akan NULL = tidak dikelola).
 * Kolom is_active TETAP: is_active=false = produk tidak aktif/tersembunyi.
 * Keduanya berbeda: produk bisa aktif tapi habis stok (is_active=true, stock=0).
 */
return new class extends Migration
{
    public function up(): void
    {
        Schema::table('products', function (Blueprint $table) {
            // Ditempatkan setelah is_featured untuk pengelompokan logis field status
            $table->unsignedInteger('stock')->nullable()->default(null)->after('is_featured');
        });
    }

    public function down(): void
    {
        Schema::table('products', function (Blueprint $table) {
            $table->dropColumn('stock');
        });
    }
};
