<?php

use App\Models\LocalizationManagement\City;
use App\Models\StockManagement\Warehouse;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration {
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up(){
        Schema::whenTableDoesntHaveColumn((new City)->getTable(), "warehouse_id",function (Blueprint $table)  {

            $table->foreignIdFor(Warehouse::class,'warehouse_id')->nullable()
                ->constrained((new Warehouse)->getTable(), (new Warehouse)->getKeyName())
                ->cascadeOnUpdate()->cascadeOnDelete()
                ->comment("[FK] l'entrepot sous le quel le stock sera déduit lorsqu'une commande aura cette adresse");

//            $table->unsignedBigInteger("warehouse_id")->nullable()
//                ->comment("[FK] l'entrepot sous le quel le stock sera déduit lorsqu'une commande aura cette adresse (ex : '1')");
        });
    }

};
