migrations/Version20251006141303.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.  * Auto-generated Migration: Please modify to your needs!
  8.  */
  9. final class Version20251006141303 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         $this->addSql("ALTER TABLE `clw_epg`
  18.             DROP COLUMN `page_id`,
  19.             DROP COLUMN `epg_data`,
  20.             DROP INDEX `UNIQ_326DE1CAC4663E4`,
  21.             DROP FOREIGN KEY `FK_326DE1CAC4663E4`;");
  22.         
  23.         $this->addSql("ALTER TABLE `clw_epg` 
  24.             ADD COLUMN `name` VARCHAR(255) NULL DEFAULT NULL AFTER `id`, ADD UNIQUE INDEX `name` (`name`);");
  25.         $this->addSql("ALTER TABLE `clw_epg`
  26.             CHANGE COLUMN `air_date` `air_date` DATETIME NOT NULL COMMENT 'Broadcast start date' AFTER `is_active`,
  27.             CHANGE COLUMN `end_date` `end_date` DATETIME NULL DEFAULT NULL COMMENT 'Broadcast end date' AFTER `air_date`;");
  28.         $this->addSql("ALTER TABLE `clw_epg`
  29.             ADD COLUMN `number_broadcasts` INT UNSIGNED NULL DEFAULT NULL COMMENT 'Number of broadcasts' AFTER `end_date`;");
  30.         $this->addSQl("ALTER TABLE `clw_epg`
  31.             ADD COLUMN `created_by` INT UNSIGNED NULL DEFAULT NULL AFTER `number_broadcasts`,
  32.             ADD COLUMN `updated_by` INT UNSIGNED NULL DEFAULT NULL AFTER `created_by`,
  33.             ADD COLUMN `created_date` DATETIME NOT NULL AFTER `updated_by`,
  34.             ADD COLUMN `updated_date` DATETIME NOT NULL AFTER `created_date`,
  35.             ADD CONSTRAINT `FK_clw_epg_std_users` FOREIGN KEY (`created_by`) REFERENCES `std_users` (`id`) ON UPDATE NO ACTION ON DELETE NO ACTION,
  36.             ADD CONSTRAINT `FK_clw_epg_std_users_2` FOREIGN KEY (`updated_by`) REFERENCES `std_users` (`id`) ON UPDATE NO ACTION ON DELETE NO ACTION;");
  37.         
  38.         $this->addSql("CREATE TABLE `clw_epg_broadcast` (
  39.             `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  40.             `epg_id` INT UNSIGNED NOT NULL,
  41.             `start_date` DATETIME NULL,
  42.             `end_date` DATETIME NULL,
  43.             `title` VARCHAR(255) NULL DEFAULT NULL,
  44.             `description` VARCHAR(5000) NULL DEFAULT NULL,
  45.             `year` INT UNSIGNED NULL DEFAULT NULL,
  46.             `category` VARCHAR(255) NULL DEFAULT NULL,
  47.             `gender` VARCHAR(255) NULL DEFAULT NULL,
  48.             `age` VARCHAR(255) NULL DEFAULT NULL,
  49.             `language` VARCHAR(50) NULL DEFAULT NULL,
  50.             PRIMARY KEY (`id`),
  51.             CONSTRAINT `FK__clw_epg` FOREIGN KEY (`epg_id`) REFERENCES `clw_epg` (`id`) ON UPDATE NO ACTION ON DELETE NO ACTION
  52.         )
  53.         COLLATE='utf8mb4_general_ci';");
  54.     }
  55.     public function down(Schema $schema): void
  56.     {
  57.         $this->addSql("ALTER TABLE `clw_epg` DROP COLUMN `name`, DROP INDEX `name`;");
  58.         $this->addSql("ALTER TABLE `clw_epg`
  59.             ADD COLUMN `page_id` INT UNSIGNED NULL DEFAULT NULL AFTER `id`,
  60.             ADD COLUMN `epg_data` JSON NOT NULL COMMENT 'EPG programs data in JSON format' AFTER `end_date`,
  61.             ADD UNIQUE INDEX `UNIQ_326DE1CAC4663E4` (`page_id`),
  62.             ADD CONSTRAINT `FK_326DE1CAC4663E4` FOREIGN KEY (`page_id`) REFERENCES `std_pages` (`id`) ON UPDATE NO ACTION ON DELETE SET NULL;");
  63.         $this->addSql("ALTER TABLE `clw_epg`
  64.             CHANGE COLUMN `air_date` `air_date` DATE NOT NULL COMMENT 'Broadcast start date' AFTER `is_active`,
  65.             CHANGE COLUMN `end_date` `end_date` DATE NULL DEFAULT NULL COMMENT 'Broadcast end date' AFTER `air_date`;");
  66.         $this->addSQl("ALTER TABLE `clw_epg`
  67.             DROP COLUMN `created_by`,
  68.             DROP COLUMN `updated_by`,
  69.             DROP COLUMN `created_date`,
  70.             DROP COLUMN `updated_date`,
  71.             DROP FOREIGN KEY `FK_clw_epg_std_users`,
  72.             DROP FOREIGN KEY `FK_clw_epg_std_users_2`;");
  73.         $this->addSql("ALTER TABLE `clw_epg`
  74.             DROP COLUMN `number_broadcasts`;");
  75.         $this->addSql("DROP TABLE `clw_epg_broadcast`;");
  76.     }
  77. }