<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Add video availability state so a creator takedown (deleted/removed post) is recorded
* distinctly from a zero-view / fetch-failure, enabling autonomous removal of unavailable
* videos from live campaigns.
*/
final class Version20260622150000 extends AbstractMigration
{
public function getDescription(): string
{
return 'Add video.availability + unavailable_since + unavailable_reason (creator-takedown state)';
}
public function up(Schema $schema): void
{
$this->addSql("ALTER TABLE video ADD availability VARCHAR(20) DEFAULT 'available' NOT NULL");
$this->addSql('ALTER TABLE video ADD unavailable_since DATETIME DEFAULT NULL');
$this->addSql('ALTER TABLE video ADD unavailable_reason VARCHAR(64) DEFAULT NULL');
}
public function down(Schema $schema): void
{
$this->addSql('ALTER TABLE video DROP availability');
$this->addSql('ALTER TABLE video DROP unavailable_since');
$this->addSql('ALTER TABLE video DROP unavailable_reason');
}
}