migrations/Version20260430103000.php line 1
<?phpdeclare(strict_types=1);namespace DoctrineMigrations;use Doctrine\DBAL\Schema\Schema;use Doctrine\Migrations\AbstractMigration;final class Version20260430103000 extends AbstractMigration{public function getDescription(): string{return 'Add modality restrictions to certificate rules';}public function up(Schema $schema): void{$this->abortIf(!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL57Platform,"Migration can only be executed safely on '\\Doctrine\\DBAL\\Platforms\\MySQL57Platform'.");$this->addSql('CREATE TABLE certificate_rule_modality (certificate_rule_id INT NOT NULL,taxonomy_value_id INT NOT NULL,INDEX IDX_CERTIFICATE_RULE_MODALITY_RULE (certificate_rule_id),INDEX IDX_CERTIFICATE_RULE_MODALITY_VALUE (taxonomy_value_id),PRIMARY KEY(certificate_rule_id, taxonomy_value_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');$this->addSql('ALTER TABLE certificate_rule_modality ADD CONSTRAINT FK_CERTIFICATE_RULE_MODALITY_RULE FOREIGN KEY (certificate_rule_id) REFERENCES certificate_rule (id) ON DELETE CASCADE');$this->addSql('ALTER TABLE certificate_rule_modality ADD CONSTRAINT FK_CERTIFICATE_RULE_MODALITY_VALUE FOREIGN KEY (taxonomy_value_id) REFERENCES taxonomy_value (id) ON DELETE CASCADE');}public function down(Schema $schema): void{$this->abortIf(!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL57Platform,"Migration can only be executed safely on '\\Doctrine\\DBAL\\Platforms\\MySQL57Platform'.");$this->addSql('ALTER TABLE certificate_rule_modality DROP FOREIGN KEY FK_CERTIFICATE_RULE_MODALITY_RULE');$this->addSql('ALTER TABLE certificate_rule_modality DROP FOREIGN KEY FK_CERTIFICATE_RULE_MODALITY_VALUE');$this->addSql('DROP TABLE certificate_rule_modality');}}