<?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 Version20190716133724 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 attendee (id INT AUTO_INCREMENT NOT NULL, booking_id INT NOT NULL, customer_id INT NOT NULL, created_by INT DEFAULT NULL, updated_by INT DEFAULT NULL, status VARCHAR(32) NOT NULL, additional_note VARCHAR(255) DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_1150D5673301C60 (booking_id), INDEX IDX_1150D5679395C3F3 (customer_id), INDEX IDX_1150D567DE12AB56 (created_by), INDEX IDX_1150D56716FE72E1 (updated_by), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
$this->addSql('CREATE TABLE ebooking_voucher (ebooking_id INT NOT NULL, voucher_id INT NOT NULL, INDEX IDX_315CF8DBAABEFF80 (ebooking_id), INDEX IDX_315CF8DB28AA1B6F (voucher_id), PRIMARY KEY(ebooking_id, voucher_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
$this->addSql('ALTER TABLE attendee ADD CONSTRAINT FK_1150D5673301C60 FOREIGN KEY (booking_id) REFERENCES ebooking (id)');
$this->addSql('ALTER TABLE attendee ADD CONSTRAINT FK_1150D5679395C3F3 FOREIGN KEY (customer_id) REFERENCES customer (id)');
$this->addSql('ALTER TABLE attendee ADD CONSTRAINT FK_1150D567DE12AB56 FOREIGN KEY (created_by) REFERENCES fos_user (id)');
$this->addSql('ALTER TABLE attendee ADD CONSTRAINT FK_1150D56716FE72E1 FOREIGN KEY (updated_by) REFERENCES fos_user (id)');
$this->addSql('ALTER TABLE ebooking_voucher ADD CONSTRAINT FK_315CF8DBAABEFF80 FOREIGN KEY (ebooking_id) REFERENCES ebooking (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE ebooking_voucher ADD CONSTRAINT FK_315CF8DB28AA1B6F FOREIGN KEY (voucher_id) REFERENCES voucher (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE ebooking DROP FOREIGN KEY FK_8049431628AA1B6F');
$this->addSql('DROP INDEX IDX_8049431628AA1B6F ON ebooking');
$this->addSql('ALTER TABLE ebooking ADD booker_id INT NOT NULL, ADD billing_id INT NOT NULL, ADD event_id INT NOT NULL, ADD status VARCHAR(32) NOT NULL, ADD price NUMERIC(10, 2) NOT NULL, ADD price_vat NUMERIC(10, 2) NOT NULL, ADD price_admin NUMERIC(10, 2) NOT NULL, ADD price_admin_vat NUMERIC(10, 2) NOT NULL, ADD payment_reply LONGTEXT DEFAULT NULL, ADD comment LONGTEXT DEFAULT NULL, ADD privacy_accepted_at DATETIME NOT NULL, CHANGE voucher_id original_booking_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE ebooking ADD CONSTRAINT FK_804943168B7E4006 FOREIGN KEY (booker_id) REFERENCES customer (id)');
$this->addSql('ALTER TABLE ebooking ADD CONSTRAINT FK_804943163B025C87 FOREIGN KEY (billing_id) REFERENCES customer (id)');
$this->addSql('ALTER TABLE ebooking ADD CONSTRAINT FK_8049431671F7E88B FOREIGN KEY (event_id) REFERENCES event (id)');
$this->addSql('ALTER TABLE ebooking ADD CONSTRAINT FK_804943166E876BF4 FOREIGN KEY (original_booking_id) REFERENCES ebooking (id)');
$this->addSql('CREATE INDEX IDX_804943168B7E4006 ON ebooking (booker_id)');
$this->addSql('CREATE INDEX IDX_804943163B025C87 ON ebooking (billing_id)');
$this->addSql('CREATE INDEX IDX_8049431671F7E88B ON ebooking (event_id)');
$this->addSql('CREATE INDEX IDX_804943166E876BF4 ON ebooking (original_booking_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('DROP TABLE attendee');
$this->addSql('DROP TABLE ebooking_voucher');
$this->addSql('ALTER TABLE ebooking DROP FOREIGN KEY FK_804943168B7E4006');
$this->addSql('ALTER TABLE ebooking DROP FOREIGN KEY FK_804943163B025C87');
$this->addSql('ALTER TABLE ebooking DROP FOREIGN KEY FK_8049431671F7E88B');
$this->addSql('ALTER TABLE ebooking DROP FOREIGN KEY FK_804943166E876BF4');
$this->addSql('DROP INDEX IDX_804943168B7E4006 ON ebooking');
$this->addSql('DROP INDEX IDX_804943163B025C87 ON ebooking');
$this->addSql('DROP INDEX IDX_8049431671F7E88B ON ebooking');
$this->addSql('DROP INDEX IDX_804943166E876BF4 ON ebooking');
$this->addSql('ALTER TABLE ebooking DROP booker_id, DROP billing_id, DROP event_id, DROP status, DROP price, DROP price_vat, DROP price_admin, DROP price_admin_vat, DROP payment_reply, DROP comment, DROP privacy_accepted_at, CHANGE original_booking_id voucher_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE ebooking ADD CONSTRAINT FK_8049431628AA1B6F FOREIGN KEY (voucher_id) REFERENCES voucher (id)');
$this->addSql('CREATE INDEX IDX_8049431628AA1B6F ON ebooking (voucher_id)');
}
}