migrations/Version20260119201640.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 Version20260119201640 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // this up() migration is auto-generated, please modify it to your needs
  18.         $this->addSql('ALTER TABLE message_automation ADD event ENUM(\'lead.created\', \'lead.closed\', \'lead.converted\', \'customer.created\') DEFAULT NULL COMMENT \'(DC2Type:MessageAutomationEventType)\'');
  19.         $this->addSql('ALTER TABLE message_automation CHANGE audience audience VARCHAR(255) DEFAULT NULL');
  20.         $this->addSql('UPDATE message_automation SET audience = \'lead_open\' WHERE audience IS NULL OR audience = \'\'');
  21.         $this->addSql('UPDATE message_automation SET audience = \'lead_open\' WHERE audience = \'lead\'');
  22.         $this->addSql('UPDATE message_automation SET audience = \'lead_open\' WHERE audience = \'both\'');
  23.         $this->addSql('ALTER TABLE message_automation CHANGE audience audience ENUM(\'lead_open\', \'lead_close\', \'opportunity\', \'customer\') DEFAULT NULL COMMENT \'(DC2Type:MessageAutomationAudienceType)\'');
  24.         $this->addSql('UPDATE message_automation SET event = \'lead.created\' WHERE token IN (\'lead-inbound-sms\', \'lead-inbound-email\')');
  25.         $this->addSql('DROP INDEX idx_token ON message_automation');
  26.         $this->addSql('DROP INDEX UNIQ_6A3B0715F37A13B ON message_automation');
  27.         $this->addSql('ALTER TABLE message_automation DROP token');
  28.     }
  29.     public function down(Schema $schema): void
  30.     {
  31.         // this down() migration is auto-generated, please modify it to your needs
  32.         $this->addSql('ALTER TABLE message_automation ADD token VARCHAR(255) DEFAULT NULL');
  33.         $this->addSql('UPDATE message_automation SET token = CONCAT(COALESCE(event, \'unknown\'), \'.\', COALESCE(channel, \'unknown\'), \'.\', id) WHERE token IS NULL OR token = \'\'');
  34.         $this->addSql('ALTER TABLE message_automation DROP event');
  35.         $this->addSql('ALTER TABLE message_automation CHANGE audience audience VARCHAR(255) DEFAULT NULL');
  36.         $this->addSql('UPDATE message_automation SET audience = \'lead\' WHERE audience IS NULL OR audience = \'\'');
  37.         $this->addSql('UPDATE message_automation SET audience = \'lead\' WHERE audience IN (\'lead_open\', \'lead_close\', \'opportunity\')');
  38.         $this->addSql('ALTER TABLE message_automation CHANGE audience audience ENUM(\'both\', \'lead\', \'customer\') DEFAULT NULL COMMENT \'(DC2Type:MessageAutomationAudienceType)\'');
  39.         $this->addSql('ALTER TABLE message_automation CHANGE token token VARCHAR(255) NOT NULL');
  40.         $this->addSql('CREATE INDEX idx_token ON message_automation (token)');
  41.         $this->addSql('CREATE UNIQUE INDEX UNIQ_6A3B0715F37A13B ON message_automation (token)');
  42.     }
  43. }