<?php

namespace App\Database\Migrations;

use CodeIgniter\Database\Migration;
use CodeIgniter\Database\RawSql;

class UpdateDateFieldsOrdenTrabajoDates extends Migration
{
    protected array $DATES = [
        "cosido_at" => [
            "type" => "DATE",
            "null" => true,
        ],
        "solapa_at" => [
            "type" => "DATE",
            "null" => true,
        ],
        "grapado_at" => [
            "type" => "DATE",
            "null" => true,
        ],
        "retractilado_at" => [
            "type" => "DATE",
            "null" => true,
        ],
        "retractilado5_at" => [
            "type" => "DATE",
            "null" => true,
        ],
        "prototipo_at" => [
            "type" => "DATE",
            "null" => true,
        ],
        "marcapaginas_at" => [
            "type" => "DATE",
            "null" => true,
        ],
    ];
    protected array $USERS = [
        "cosido_user_id" => [
            "type" => "INT",
            "unsigned" => true,
            "constraint" => 10,
            "null" => true,
        ],
        "solapa_user_id" => [
            "type" => "INT",
            "unsigned" => true,
            "constraint" => 10,
            "null" => true,
        ],
        "grapado_user_id" => [
            "type" => "INT",
            "unsigned" => true,
            "constraint" => 10,
            "null" => true,
        ],   
        "retractilado_user_id" => [
            "type" => "INT",
            "unsigned" => true,
            "constraint" => 10,
            "null" => true,
        ], 
        "retractilado5_user_id" => [
            "type" => "INT",
            "unsigned" => true,
            "constraint" => 10,
            "null" => true,
        ], 
        "prototipo_user_id" => [
            "type" => "INT",
            "unsigned" => true,
            "constraint" => 10,
            "null" => true,
        ],
        "marcapaginas_user_id" => [
            "type" => "INT",
            "unsigned" => true,
            "constraint" => 10,
            "null" => true,
        ], 
    ];
    
    public function up()
    {
        $this->forge->addColumn("orden_trabajo_dates", $this->DATES);
        $this->forge->addColumn("orden_trabajo_users", $this->USERS);
        foreach ($this->USERS as $key => $value) {
            $this->forge->addForeignKey([$key],"users",["id"]);
        }
    }

    public function down()
    {
        $this->forge->dropColumn("orden_trabajo_dates", array_keys($this->DATES));
        $this->forge->dropColumn("orden_trabajo_users", array_keys($this->USERS));

        
    }
}
