<?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 Version20230616095128 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('CREATE TABLE custom_page (id INT AUTO_INCREMENT NOT NULL, title VARCHAR(255) NOT NULL, content LONGTEXT NOT NULL, status INT NOT NULL, access_link VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE event (id INT AUTO_INCREMENT NOT NULL, title VARCHAR(255) NOT NULL, description LONGTEXT NOT NULL, start_at DATETIME NOT NULL, poster VARCHAR(255) NOT NULL, slug VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE `order` (id VARCHAR(255) NOT NULL, ticket_owner_id INT DEFAULT NULL, json_data LONGTEXT DEFAULT NULL, stripe_payment_intent VARCHAR(255) DEFAULT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', payed_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_F5299398FB559D78 (ticket_owner_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE ticket (id INT AUTO_INCREMENT NOT NULL, related_event_id INT DEFAULT NULL, title VARCHAR(255) NOT NULL, max_capacity INT NOT NULL, salable_from DATETIME DEFAULT NULL, price INT NOT NULL, axo_id VARCHAR(255) DEFAULT NULL, tva INT NOT NULL, current_orders_count INT NOT NULL, description VARCHAR(255) DEFAULT NULL, INDEX IDX_97A0ADA3D774A626 (related_event_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE ticket_cart (id INT AUTO_INCREMENT NOT NULL, ticket_id INT NOT NULL, related_order_id VARCHAR(255) DEFAULT NULL, firstname VARCHAR(255) DEFAULT NULL, lastname VARCHAR(255) DEFAULT NULL, email VARCHAR(255) DEFAULT NULL, INDEX IDX_39789D8F700047D2 (ticket_id), INDEX IDX_39789D8F2B1C2395 (related_order_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE ticket_owner (id INT AUTO_INCREMENT NOT NULL, firstname VARCHAR(255) NOT NULL, lastname VARCHAR(255) NOT NULL, email VARCHAR(255) DEFAULT NULL, phone VARCHAR(20) DEFAULT NULL, address_street VARCHAR(255) DEFAULT NULL, address_postcode VARCHAR(10) DEFAULT NULL, address_city VARCHAR(255) DEFAULT NULL, address_additional VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE ticket_participant (id INT AUTO_INCREMENT NOT NULL, firstname VARCHAR(255) NOT NULL, lastname VARCHAR(255) NOT NULL, email VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE user (id VARCHAR(36) NOT NULL, email VARCHAR(180) NOT NULL, first_name VARCHAR(180) NOT NULL, last_name VARCHAR(180) NOT NULL, roles LONGTEXT NOT NULL COMMENT \'(DC2Type:array)\', password VARCHAR(255) NOT NULL, UNIQUE INDEX UNIQ_8D93D649E7927C74 (email), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE `order` ADD CONSTRAINT FK_F5299398FB559D78 FOREIGN KEY (ticket_owner_id) REFERENCES ticket_owner (id)');
$this->addSql('ALTER TABLE ticket ADD CONSTRAINT FK_97A0ADA3D774A626 FOREIGN KEY (related_event_id) REFERENCES event (id)');
$this->addSql('ALTER TABLE ticket_cart ADD CONSTRAINT FK_39789D8F700047D2 FOREIGN KEY (ticket_id) REFERENCES ticket (id)');
$this->addSql('ALTER TABLE ticket_cart ADD CONSTRAINT FK_39789D8F2B1C2395 FOREIGN KEY (related_order_id) REFERENCES `order` (id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE `order` DROP FOREIGN KEY FK_F5299398FB559D78');
$this->addSql('ALTER TABLE ticket DROP FOREIGN KEY FK_97A0ADA3D774A626');
$this->addSql('ALTER TABLE ticket_cart DROP FOREIGN KEY FK_39789D8F700047D2');
$this->addSql('ALTER TABLE ticket_cart DROP FOREIGN KEY FK_39789D8F2B1C2395');
$this->addSql('DROP TABLE custom_page');
$this->addSql('DROP TABLE event');
$this->addSql('DROP TABLE `order`');
$this->addSql('DROP TABLE ticket');
$this->addSql('DROP TABLE ticket_cart');
$this->addSql('DROP TABLE ticket_owner');
$this->addSql('DROP TABLE ticket_participant');
$this->addSql('DROP TABLE user');
}
}