<?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 Version20210626142913 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->abortIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE workflow_action DROP FOREIGN KEY FK_66C936512C7C2CBA');
$this->addSql('ALTER TABLE workflow_condition DROP FOREIGN KEY FK_407F12C62C7C2CBA');
$this->addSql('ALTER TABLE workflow_action_item DROP FOREIGN KEY FK_3FD475ED9D32F035');
$this->addSql('DROP TABLE workflow');
$this->addSql('DROP TABLE workflow_action');
$this->addSql('DROP TABLE workflow_action_item');
$this->addSql('DROP TABLE workflow_condition');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('CREATE TABLE workflow (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, name VARCHAR(255) NOT NULL COLLATE utf8mb4_unicode_ci, entity_type VARCHAR(255) NOT NULL COLLATE utf8mb4_unicode_ci, trigger_type ENUM(\'created\', \'created_or_updated\', \'created_or_updated_to_match\', \'daily\', \'hourly\') NOT NULL COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:WorkflowTriggerType)\', condition_logic ENUM(\'and\', \'or\') NOT NULL COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:WorkflowConditionLogicType)\', enabled TINYINT(1) NOT NULL, created_at DATETIME NOT NULL, modified_at DATETIME NOT NULL, INDEX idx_name (name), INDEX IDX_65C59816A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE workflow_action (id INT AUTO_INCREMENT NOT NULL, workflow_id INT DEFAULT NULL, entity_type VARCHAR(255) NOT NULL COLLATE utf8mb4_unicode_ci, action_type ENUM(\'create\', \'update\', \'email\', \'text\') NOT NULL COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:WorkflowActionType)\', email_subject VARCHAR(255) DEFAULT NULL COLLATE utf8mb4_unicode_ci, email_body LONGTEXT DEFAULT NULL COLLATE utf8mb4_unicode_ci, text_body VARCHAR(255) DEFAULT NULL COLLATE utf8mb4_unicode_ci, INDEX IDX_66C936512C7C2CBA (workflow_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE workflow_action_item (id INT AUTO_INCREMENT NOT NULL, action_id INT DEFAULT NULL, field_key VARCHAR(255) NOT NULL COLLATE utf8mb4_unicode_ci, field_type VARCHAR(255) NOT NULL COLLATE utf8mb4_unicode_ci, value LONGTEXT NOT NULL COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:array)\', value_type ENUM(\'standard\', \'formula\') NOT NULL COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:WorkflowValueType)\', INDEX IDX_3FD475ED9D32F035 (action_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE workflow_condition (id INT AUTO_INCREMENT NOT NULL, workflow_id INT DEFAULT NULL, field_key VARCHAR(255) NOT NULL COLLATE utf8mb4_unicode_ci, field_type VARCHAR(255) NOT NULL COLLATE utf8mb4_unicode_ci, operator ENUM(\'equals\', \'not_equals\', \'in\', \'contains\', \'greater\', \'less\', \'before\', \'after\', \'between\') NOT NULL COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:WorkflowOperatorType)\', value LONGTEXT NOT NULL COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:array)\', value_type ENUM(\'standard\', \'formula\') NOT NULL COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:WorkflowValueType)\', INDEX IDX_407F12C62C7C2CBA (workflow_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('ALTER TABLE workflow ADD CONSTRAINT FK_65C59816A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE SET NULL');
$this->addSql('ALTER TABLE workflow_action ADD CONSTRAINT FK_66C936512C7C2CBA FOREIGN KEY (workflow_id) REFERENCES workflow (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE workflow_action_item ADD CONSTRAINT FK_3FD475ED9D32F035 FOREIGN KEY (action_id) REFERENCES workflow_action (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE workflow_condition ADD CONSTRAINT FK_407F12C62C7C2CBA FOREIGN KEY (workflow_id) REFERENCES workflow (id) ON DELETE CASCADE');
}
}