<?php

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

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        // Schema::create('winded_serial_validation_errors', function (Blueprint $table) {
        //     $table->id();
        //     $table->timestamps();
        // });
        $sql = <<<'SQL'
            CREATE TABLE winded_serial_validation_errors (
                id                      BIGINT GENERATED always AS IDENTITY PRIMARY KEY,
                plant_id                BIGINT NOT NULL,
                item_id                 BIGINT NOT NULL,
                machine_id              BIGINT NOT NULL,
                machine_name            TEXT DEFAULT NULL,
                aufnr                   TEXT DEFAULT NULL,
                gernr                   TEXT DEFAULT NULL,
                model_type              TEXT DEFAULT NULL,
                winded_status           TEXT DEFAULT NULL,
                winded_qr               TEXT DEFAULT NULL,
                winded_serial_number    TEXT DEFAULT NULL,
                winded_code        TEXT DEFAULT NULL,

                created_at      TIMESTAMP NOT NULL DEFAULT NOW(),
                updated_at      TIMESTAMP NOT NULL DEFAULT NOW(),
                created_by      TEXT DEFAULT NULL,
                updated_by      TEXT DEFAULT NULL,
                deleted_at      TIMESTAMP,

                FOREIGN KEY (plant_id)      REFERENCES  plants (id),
                FOREIGN KEY (item_id)       REFERENCES  items (id),
                FOREIGN KEY (machine_id)    REFERENCES  machines (id)
            );
        SQL;

        DB::statement($sql);
    }

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