<?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 Version20260119201640 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE message_automation ADD event ENUM(\'lead.created\', \'lead.closed\', \'lead.converted\', \'customer.created\') DEFAULT NULL COMMENT \'(DC2Type:MessageAutomationEventType)\'');
$this->addSql('ALTER TABLE message_automation CHANGE audience audience VARCHAR(255) DEFAULT NULL');
$this->addSql('UPDATE message_automation SET audience = \'lead_open\' WHERE audience IS NULL OR audience = \'\'');
$this->addSql('UPDATE message_automation SET audience = \'lead_open\' WHERE audience = \'lead\'');
$this->addSql('UPDATE message_automation SET audience = \'lead_open\' WHERE audience = \'both\'');
$this->addSql('ALTER TABLE message_automation CHANGE audience audience ENUM(\'lead_open\', \'lead_close\', \'opportunity\', \'customer\') DEFAULT NULL COMMENT \'(DC2Type:MessageAutomationAudienceType)\'');
$this->addSql('UPDATE message_automation SET event = \'lead.created\' WHERE token IN (\'lead-inbound-sms\', \'lead-inbound-email\')');
$this->addSql('DROP INDEX idx_token ON message_automation');
$this->addSql('DROP INDEX UNIQ_6A3B0715F37A13B ON message_automation');
$this->addSql('ALTER TABLE message_automation DROP token');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE message_automation ADD token VARCHAR(255) DEFAULT NULL');
$this->addSql('UPDATE message_automation SET token = CONCAT(COALESCE(event, \'unknown\'), \'.\', COALESCE(channel, \'unknown\'), \'.\', id) WHERE token IS NULL OR token = \'\'');
$this->addSql('ALTER TABLE message_automation DROP event');
$this->addSql('ALTER TABLE message_automation CHANGE audience audience VARCHAR(255) DEFAULT NULL');
$this->addSql('UPDATE message_automation SET audience = \'lead\' WHERE audience IS NULL OR audience = \'\'');
$this->addSql('UPDATE message_automation SET audience = \'lead\' WHERE audience IN (\'lead_open\', \'lead_close\', \'opportunity\')');
$this->addSql('ALTER TABLE message_automation CHANGE audience audience ENUM(\'both\', \'lead\', \'customer\') DEFAULT NULL COMMENT \'(DC2Type:MessageAutomationAudienceType)\'');
$this->addSql('ALTER TABLE message_automation CHANGE token token VARCHAR(255) NOT NULL');
$this->addSql('CREATE INDEX idx_token ON message_automation (token)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_6A3B0715F37A13B ON message_automation (token)');
}
}