<?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 Version20190713000208 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($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('CREATE TABLE campaign (id INT AUTO_INCREMENT NOT NULL, organizarion_unit_id INT DEFAULT NULL, created_by INT DEFAULT NULL, updated_by INT DEFAULT NULL, type SMALLINT NOT NULL, start BIGINT DEFAULT NULL, increment INT DEFAULT NULL, discount_absolute NUMERIC(10, 2) NOT NULL, discount_percent NUMERIC(10, 2) NOT NULL, auto_expire VARCHAR(255) DEFAULT NULL COMMENT \'(DC2Type:dateinterval)\', name VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_1F1512DDDA525DAE (organizarion_unit_id), INDEX IDX_1F1512DDDE12AB56 (created_by), INDEX IDX_1F1512DD16FE72E1 (updated_by), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
$this->addSql('CREATE TABLE ebooking (id INT AUTO_INCREMENT NOT NULL, voucher_id INT DEFAULT NULL, created_by INT DEFAULT NULL, updated_by INT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_8049431628AA1B6F (voucher_id), INDEX IDX_80494316DE12AB56 (created_by), INDEX IDX_8049431616FE72E1 (updated_by), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
$this->addSql('CREATE TABLE voucher (id INT AUTO_INCREMENT NOT NULL, campaign_id INT NOT NULL, code VARCHAR(32) NOT NULL, expire_date DATETIME DEFAULT NULL, redeems_left INT DEFAULT NULL, UNIQUE INDEX UNIQ_1392A5D877153098 (code), INDEX IDX_1392A5D8F639F774 (campaign_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
$this->addSql('ALTER TABLE campaign ADD CONSTRAINT FK_1F1512DDDA525DAE FOREIGN KEY (organizarion_unit_id) REFERENCES organization_unit (id)');
$this->addSql('ALTER TABLE campaign ADD CONSTRAINT FK_1F1512DDDE12AB56 FOREIGN KEY (created_by) REFERENCES fos_user (id)');
$this->addSql('ALTER TABLE campaign ADD CONSTRAINT FK_1F1512DD16FE72E1 FOREIGN KEY (updated_by) REFERENCES fos_user (id)');
$this->addSql('ALTER TABLE ebooking ADD CONSTRAINT FK_8049431628AA1B6F FOREIGN KEY (voucher_id) REFERENCES voucher (id)');
$this->addSql('ALTER TABLE ebooking ADD CONSTRAINT FK_80494316DE12AB56 FOREIGN KEY (created_by) REFERENCES fos_user (id)');
$this->addSql('ALTER TABLE ebooking ADD CONSTRAINT FK_8049431616FE72E1 FOREIGN KEY (updated_by) REFERENCES fos_user (id)');
$this->addSql('ALTER TABLE voucher ADD CONSTRAINT FK_1392A5D8F639F774 FOREIGN KEY (campaign_id) REFERENCES campaign (id)');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE voucher DROP FOREIGN KEY FK_1392A5D8F639F774');
$this->addSql('ALTER TABLE ebooking DROP FOREIGN KEY FK_8049431628AA1B6F');
$this->addSql('DROP TABLE campaign');
$this->addSql('DROP TABLE ebooking');
$this->addSql('DROP TABLE voucher');
}
}