<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20251006141303 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
$this->addSql("ALTER TABLE `clw_epg`
DROP COLUMN `page_id`,
DROP COLUMN `epg_data`,
DROP INDEX `UNIQ_326DE1CAC4663E4`,
DROP FOREIGN KEY `FK_326DE1CAC4663E4`;");
$this->addSql("ALTER TABLE `clw_epg`
ADD COLUMN `name` VARCHAR(255) NULL DEFAULT NULL AFTER `id`, ADD UNIQUE INDEX `name` (`name`);");
$this->addSql("ALTER TABLE `clw_epg`
CHANGE COLUMN `air_date` `air_date` DATETIME NOT NULL COMMENT 'Broadcast start date' AFTER `is_active`,
CHANGE COLUMN `end_date` `end_date` DATETIME NULL DEFAULT NULL COMMENT 'Broadcast end date' AFTER `air_date`;");
$this->addSql("ALTER TABLE `clw_epg`
ADD COLUMN `number_broadcasts` INT UNSIGNED NULL DEFAULT NULL COMMENT 'Number of broadcasts' AFTER `end_date`;");
$this->addSQl("ALTER TABLE `clw_epg`
ADD COLUMN `created_by` INT UNSIGNED NULL DEFAULT NULL AFTER `number_broadcasts`,
ADD COLUMN `updated_by` INT UNSIGNED NULL DEFAULT NULL AFTER `created_by`,
ADD COLUMN `created_date` DATETIME NOT NULL AFTER `updated_by`,
ADD COLUMN `updated_date` DATETIME NOT NULL AFTER `created_date`,
ADD CONSTRAINT `FK_clw_epg_std_users` FOREIGN KEY (`created_by`) REFERENCES `std_users` (`id`) ON UPDATE NO ACTION ON DELETE NO ACTION,
ADD CONSTRAINT `FK_clw_epg_std_users_2` FOREIGN KEY (`updated_by`) REFERENCES `std_users` (`id`) ON UPDATE NO ACTION ON DELETE NO ACTION;");
$this->addSql("CREATE TABLE `clw_epg_broadcast` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`epg_id` INT UNSIGNED NOT NULL,
`start_date` DATETIME NULL,
`end_date` DATETIME NULL,
`title` VARCHAR(255) NULL DEFAULT NULL,
`description` VARCHAR(5000) NULL DEFAULT NULL,
`year` INT UNSIGNED NULL DEFAULT NULL,
`category` VARCHAR(255) NULL DEFAULT NULL,
`gender` VARCHAR(255) NULL DEFAULT NULL,
`age` VARCHAR(255) NULL DEFAULT NULL,
`language` VARCHAR(50) NULL DEFAULT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `FK__clw_epg` FOREIGN KEY (`epg_id`) REFERENCES `clw_epg` (`id`) ON UPDATE NO ACTION ON DELETE NO ACTION
)
COLLATE='utf8mb4_general_ci';");
}
public function down(Schema $schema): void
{
$this->addSql("ALTER TABLE `clw_epg` DROP COLUMN `name`, DROP INDEX `name`;");
$this->addSql("ALTER TABLE `clw_epg`
ADD COLUMN `page_id` INT UNSIGNED NULL DEFAULT NULL AFTER `id`,
ADD COLUMN `epg_data` JSON NOT NULL COMMENT 'EPG programs data in JSON format' AFTER `end_date`,
ADD UNIQUE INDEX `UNIQ_326DE1CAC4663E4` (`page_id`),
ADD CONSTRAINT `FK_326DE1CAC4663E4` FOREIGN KEY (`page_id`) REFERENCES `std_pages` (`id`) ON UPDATE NO ACTION ON DELETE SET NULL;");
$this->addSql("ALTER TABLE `clw_epg`
CHANGE COLUMN `air_date` `air_date` DATE NOT NULL COMMENT 'Broadcast start date' AFTER `is_active`,
CHANGE COLUMN `end_date` `end_date` DATE NULL DEFAULT NULL COMMENT 'Broadcast end date' AFTER `air_date`;");
$this->addSQl("ALTER TABLE `clw_epg`
DROP COLUMN `created_by`,
DROP COLUMN `updated_by`,
DROP COLUMN `created_date`,
DROP COLUMN `updated_date`,
DROP FOREIGN KEY `FK_clw_epg_std_users`,
DROP FOREIGN KEY `FK_clw_epg_std_users_2`;");
$this->addSql("ALTER TABLE `clw_epg`
DROP COLUMN `number_broadcasts`;");
$this->addSql("DROP TABLE `clw_epg_broadcast`;");
}
}