<?php

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

/**
 * El enlace de login de un entorno, cuando no es el de siempre.
 *
 * **El caso real.** Un Moodle con SSO —SAML, CAS, OAuth2— manda a todo el mundo al
 * proveedor de identidad en cuanto se pulsa «Entrar», y nosotros no tenemos cuenta ahí. La
 * forma de entrar con la cuenta manual de soporte es una URL distinta que **cada sitio tiene
 * a su manera**: `?saml=off` con `auth_saml2`, `?authCAS=NOCAS` con CAS, o directamente otro
 * dominio. Hoy eso vive en la cabeza de quien lo configuró, o en un chat.
 *
 * **Nullable y solo para las excepciones.** La inmensa mayoría de los sitios entran por
 * `{dominio}/login/index.php`, y eso el panel ya lo sabe construir: rellenar este campo en
 * los veinte sitios normales sería veinte copias del mismo dato esperando a desincronizarse.
 * Ver `Environment::enlaceDeLogin()`.
 *
 * **No lleva índice**: no se busca por él ni se filtra, solo se pinta.
 */
return new class extends Migration
{
    public function up(): void
    {
        Schema::table('environments', function (Blueprint $table) {
            $table->string('login_url', 500)->nullable()->after('domain');
        });
    }

    public function down(): void
    {
        Schema::table('environments', function (Blueprint $table) {
            $table->dropColumn('login_url');
        });
    }
};
