<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Migración: Agregar ventana de bloqueo temporal
*
* Agrega la columna ventana_bloqueo a rate_limit (en horas) para configurar
* el período en el que se evalúan los bloqueos temporales.
*
* Agrega la columna fecha_primer_bloqueo a blacklist para trackear
* el inicio de la ventana de bloqueos.
*/
final class Version20251002164733 extends AbstractMigration
{
public function getDescription(): string
{
return 'Agregar ventana de bloqueo temporal: ventana_bloqueo a rate_limit y fecha_primer_bloqueo a blacklist';
}
public function up(Schema $schema): void
{
// Agregar columna ventana_bloqueo a rate_limit
$this->addSql('ALTER TABLE rate_limit ADD ventana_bloqueo INT NOT NULL DEFAULT 12 COMMENT \'Ventana en horas para evaluar bloqueos temporales\'');
// Agregar columna fecha_primer_bloqueo a blacklist
$this->addSql('ALTER TABLE blacklist ADD fecha_primer_bloqueo DATETIME DEFAULT NULL COMMENT \'Fecha del primer bloqueo temporal en la ventana actual\'');
}
public function down(Schema $schema): void
{
// Rollback: eliminar columnas agregadas
$this->addSql('ALTER TABLE blacklist DROP COLUMN fecha_primer_bloqueo');
$this->addSql('ALTER TABLE rate_limit DROP COLUMN ventana_bloqueo');
}
}