migrations/Version20260622150000.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. /**
  7.  * Add video availability state so a creator takedown (deleted/removed post) is recorded
  8.  * distinctly from a zero-view / fetch-failure, enabling autonomous removal of unavailable
  9.  * videos from live campaigns.
  10.  */
  11. final class Version20260622150000 extends AbstractMigration
  12. {
  13.     public function getDescription(): string
  14.     {
  15.         return 'Add video.availability + unavailable_since + unavailable_reason (creator-takedown state)';
  16.     }
  17.     public function up(Schema $schema): void
  18.     {
  19.         $this->addSql("ALTER TABLE video ADD availability VARCHAR(20) DEFAULT 'available' NOT NULL");
  20.         $this->addSql('ALTER TABLE video ADD unavailable_since DATETIME DEFAULT NULL');
  21.         $this->addSql('ALTER TABLE video ADD unavailable_reason VARCHAR(64) DEFAULT NULL');
  22.     }
  23.     public function down(Schema $schema): void
  24.     {
  25.         $this->addSql('ALTER TABLE video DROP availability');
  26.         $this->addSql('ALTER TABLE video DROP unavailable_since');
  27.         $this->addSql('ALTER TABLE video DROP unavailable_reason');
  28.     }
  29. }