<?php

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

return new class extends Migration
{
    /**
     * Run the migrations.
     */

    public function up(): void
    {
        $sql = <<<'SQL'
            CREATE TABLE reject_reasons (
                id					               BIGINT GENERATED always AS IDENTITY PRIMARY KEY,
                plant_id                           BIGINT NOT NULL,
                line_id                      	   BIGINT NOT NULL,
                work_group_master_id			   BIGINT NOT NULL,

                code		   					   TEXT DEFAULT NULL,
                reason		   				   	   TEXT DEFAULT NULL,

                created_at			               TIMESTAMP NOT NULL DEFAULT NOW(),
                updated_at			               TIMESTAMP NOT NULL DEFAULT NOW(),
                deleted_at			               TIMESTAMP,

                created_by                         TEXT DEFAULT NULL,

                unique(plant_id, line_id, work_group_master_id, code),
                FOREIGN KEY (plant_id)             REFERENCES  plants (id),
                FOREIGN KEY (line_id)         	   REFERENCES  lines (id),
                FOREIGN KEY (work_group_master_id) REFERENCES  work_group_masters(id)

            );
        SQL;
        DB::statement($sql);
    }


    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        Schema::dropIfExists('reject_reasons');
    }
};
