<?php

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

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        $sql = <<<'SQL'
            CREATE TABLE production_line_stops (
                id					BIGINT GENERATED always AS IDENTITY PRIMARY KEY,

                line_id				BIGINT NOT NULL,
                shift_id			BIGINT NOT NULL,
                plant_id			BIGINT NOT NULL,
                linestop_id		    BIGINT NOT NULL,

                from_datetime		TIMESTAMP NOT NULL,
                to_datetime			TIMESTAMP NOT NULL,
                stop_hour        	INT NOT NULL,
                stop_min         	INT NOT NULL,

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

                FOREIGN KEY (line_id) REFERENCES lines (id),
                FOREIGN KEY (shift_id) REFERENCES shifts (id),
                FOREIGN KEY (plant_id) REFERENCES plants (id),
                FOREIGN KEY (linestop_id) REFERENCES line_stops (id)
            );
        SQL;

        DB::statement($sql);
    }

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