migrations/Version20230205161755.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 Version20230205161755 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('CREATE TABLE article (id INT AUTO_INCREMENT NOT NULL, workshop_id INT NOT NULL, title VARCHAR(255) NOT NULL, text LONGTEXT NOT NULL, image_name VARCHAR(255) DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, slug VARCHAR(255) NOT NULL, INDEX IDX_23A0E661FDCE57C (workshop_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE book (id INT AUTO_INCREMENT NOT NULL, title VARCHAR(255) NOT NULL, author VARCHAR(255) NOT NULL, image_name VARCHAR(255) NOT NULL, description LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE contact (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL, subject VARCHAR(255) NOT NULL, message LONGTEXT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  21.         $this->addSql('CREATE TABLE customer (id INT AUTO_INCREMENT NOT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL, address VARCHAR(255) NOT NULL, city VARCHAR(255) NOT NULL, zip_code VARCHAR(255) NOT NULL, phone VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  22.         $this->addSql('CREATE TABLE discount (id INT AUTO_INCREMENT NOT NULL, event_id INT DEFAULT NULL, code VARCHAR(255) NOT NULL, uid VARCHAR(255) NOT NULL, rate INT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, enabled TINYINT(1) DEFAULT NULL, description VARCHAR(255) NOT NULL, INDEX IDX_E1E0B40E71F7E88B (event_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  23.         $this->addSql('CREATE TABLE event (id INT AUTO_INCREMENT NOT NULL, workshop_id INT NOT NULL, location_id INT DEFAULT NULL, start_date DATETIME NOT NULL, end_date DATETIME NOT NULL, active TINYINT(1) NOT NULL, uid VARCHAR(255) NOT NULL, duration VARCHAR(255) DEFAULT NULL, archived TINYINT(1) NOT NULL, presentiel TINYINT(1) NOT NULL, INDEX IDX_3BAE0AA71FDCE57C (workshop_id), INDEX IDX_3BAE0AA764D218E (location_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  24.         $this->addSql('CREATE TABLE event_registration (id INT AUTO_INCREMENT NOT NULL, event_id INT NOT NULL, discount_id INT DEFAULT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL, address VARCHAR(255) NOT NULL, postal_code VARCHAR(255) NOT NULL, city VARCHAR(255) NOT NULL, phone VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, status VARCHAR(255) NOT NULL, country VARCHAR(255) NOT NULL, uid VARCHAR(255) NOT NULL, company VARCHAR(255) DEFAULT NULL, tva VARCHAR(255) DEFAULT NULL, archived TINYINT(1) NOT NULL, discount_code VARCHAR(255) DEFAULT NULL, INDEX IDX_8FBBAD5471F7E88B (event_id), INDEX IDX_8FBBAD544C7C611F (discount_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  25.         $this->addSql('CREATE TABLE free_registration (id INT AUTO_INCREMENT NOT NULL, invoice_id INT DEFAULT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, company VARCHAR(255) DEFAULT NULL, tva VARCHAR(255) DEFAULT NULL, email VARCHAR(255) NOT NULL, address VARCHAR(255) NOT NULL, postal_code VARCHAR(255) NOT NULL, city VARCHAR(255) NOT NULL, country VARCHAR(255) NOT NULL, phone VARCHAR(255) DEFAULT NULL, created_at DATETIME NOT NULL, workshop VARCHAR(255) NOT NULL, UNIQUE INDEX UNIQ_BB81E612989F1FD (invoice_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  26.         $this->addSql('CREATE TABLE invoice (id INT AUTO_INCREMENT NOT NULL, event_registration_id INT DEFAULT NULL, free_registration_id INT DEFAULT NULL, file_name VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, number VARCHAR(255) NOT NULL, UNIQUE INDEX UNIQ_906517444AEEEB73 (event_registration_id), UNIQUE INDEX UNIQ_906517443EAF604D (free_registration_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  27.         $this->addSql('CREATE TABLE news (id INT AUTO_INCREMENT NOT NULL, title VARCHAR(255) NOT NULL, content LONGTEXT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  28.         $this->addSql('CREATE TABLE `order` (id INT AUTO_INCREMENT NOT NULL, uid VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, status VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  29.         $this->addSql('CREATE TABLE partners (id INT AUTO_INCREMENT NOT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, email VARCHAR(255) DEFAULT NULL, url VARCHAR(255) DEFAULT NULL, city VARCHAR(255) DEFAULT NULL, country VARCHAR(255) DEFAULT NULL, company VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  30.         $this->addSql('CREATE TABLE payment (id INT AUTO_INCREMENT NOT NULL, customer_id INT DEFAULT NULL, amount DOUBLE PRECISION NOT NULL, status VARCHAR(255) NOT NULL, stripe_description VARCHAR(255) NOT NULL, creation_date DATETIME NOT NULL, closure_date DATETIME NOT NULL, INDEX IDX_6D28840D9395C3F3 (customer_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  31.         $this->addSql('CREATE TABLE user (id INT AUTO_INCREMENT NOT NULL, email VARCHAR(180) NOT NULL, roles JSON NOT NULL, password VARCHAR(255) NOT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, UNIQUE INDEX UNIQ_8D93D649E7927C74 (email), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  32.         $this->addSql('CREATE TABLE workshop (id INT AUTO_INCREMENT NOT NULL, title VARCHAR(255) NOT NULL, description LONGTEXT NOT NULL, image_name VARCHAR(255) DEFAULT NULL, image_size INT DEFAULT NULL, updated_at DATETIME NOT NULL, slug VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  33.         $this->addSql('CREATE TABLE workshop_infos (id INT AUTO_INCREMENT NOT NULL, workshop_id INT NOT NULL, start_at TIME NOT NULL, stop_at TIME NOT NULL, price DOUBLE PRECISION NOT NULL, animator VARCHAR(255) NOT NULL, UNIQUE INDEX UNIQ_648D1771FDCE57C (workshop_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  34.         $this->addSql('CREATE TABLE workshop_infos_workshop_location (workshop_infos_id INT NOT NULL, workshop_location_id INT NOT NULL, INDEX IDX_31462AB7D7DB861F (workshop_infos_id), INDEX IDX_31462AB73B124AC0 (workshop_location_id), PRIMARY KEY(workshop_infos_id, workshop_location_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  35.         $this->addSql('CREATE TABLE workshop_location (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, city VARCHAR(255) DEFAULT NULL, country VARCHAR(255) DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  36.         $this->addSql('CREATE TABLE workshop_video (id INT AUTO_INCREMENT NOT NULL, workshop_id INT NOT NULL, title VARCHAR(255) NOT NULL, link VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, description LONGTEXT DEFAULT NULL, slug VARCHAR(255) NOT NULL, INDEX IDX_944589361FDCE57C (workshop_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  37.         $this->addSql('ALTER TABLE article ADD CONSTRAINT FK_23A0E661FDCE57C FOREIGN KEY (workshop_id) REFERENCES workshop (id)');
  38.         $this->addSql('ALTER TABLE discount ADD CONSTRAINT FK_E1E0B40E71F7E88B FOREIGN KEY (event_id) REFERENCES event (id)');
  39.         $this->addSql('ALTER TABLE event ADD CONSTRAINT FK_3BAE0AA71FDCE57C FOREIGN KEY (workshop_id) REFERENCES workshop (id)');
  40.         $this->addSql('ALTER TABLE event ADD CONSTRAINT FK_3BAE0AA764D218E FOREIGN KEY (location_id) REFERENCES workshop_location (id)');
  41.         $this->addSql('ALTER TABLE event_registration ADD CONSTRAINT FK_8FBBAD5471F7E88B FOREIGN KEY (event_id) REFERENCES event (id)');
  42.         $this->addSql('ALTER TABLE event_registration ADD CONSTRAINT FK_8FBBAD544C7C611F FOREIGN KEY (discount_id) REFERENCES discount (id)');
  43.         $this->addSql('ALTER TABLE free_registration ADD CONSTRAINT FK_BB81E612989F1FD FOREIGN KEY (invoice_id) REFERENCES invoice (id)');
  44.         $this->addSql('ALTER TABLE invoice ADD CONSTRAINT FK_906517444AEEEB73 FOREIGN KEY (event_registration_id) REFERENCES event_registration (id)');
  45.         $this->addSql('ALTER TABLE invoice ADD CONSTRAINT FK_906517443EAF604D FOREIGN KEY (free_registration_id) REFERENCES free_registration (id)');
  46.         $this->addSql('ALTER TABLE payment ADD CONSTRAINT FK_6D28840D9395C3F3 FOREIGN KEY (customer_id) REFERENCES customer (id)');
  47.         $this->addSql('ALTER TABLE workshop_infos ADD CONSTRAINT FK_648D1771FDCE57C FOREIGN KEY (workshop_id) REFERENCES workshop (id)');
  48.         $this->addSql('ALTER TABLE workshop_infos_workshop_location ADD CONSTRAINT FK_31462AB7D7DB861F FOREIGN KEY (workshop_infos_id) REFERENCES workshop_infos (id) ON DELETE CASCADE');
  49.         $this->addSql('ALTER TABLE workshop_infos_workshop_location ADD CONSTRAINT FK_31462AB73B124AC0 FOREIGN KEY (workshop_location_id) REFERENCES workshop_location (id) ON DELETE CASCADE');
  50.         $this->addSql('ALTER TABLE workshop_video ADD CONSTRAINT FK_944589361FDCE57C FOREIGN KEY (workshop_id) REFERENCES workshop (id)');
  51.     }
  52.     public function down(Schema $schema): void
  53.     {
  54.         // this down() migration is auto-generated, please modify it to your needs
  55.         $this->addSql('ALTER TABLE article DROP FOREIGN KEY FK_23A0E661FDCE57C');
  56.         $this->addSql('ALTER TABLE discount DROP FOREIGN KEY FK_E1E0B40E71F7E88B');
  57.         $this->addSql('ALTER TABLE event DROP FOREIGN KEY FK_3BAE0AA71FDCE57C');
  58.         $this->addSql('ALTER TABLE event DROP FOREIGN KEY FK_3BAE0AA764D218E');
  59.         $this->addSql('ALTER TABLE event_registration DROP FOREIGN KEY FK_8FBBAD5471F7E88B');
  60.         $this->addSql('ALTER TABLE event_registration DROP FOREIGN KEY FK_8FBBAD544C7C611F');
  61.         $this->addSql('ALTER TABLE free_registration DROP FOREIGN KEY FK_BB81E612989F1FD');
  62.         $this->addSql('ALTER TABLE invoice DROP FOREIGN KEY FK_906517444AEEEB73');
  63.         $this->addSql('ALTER TABLE invoice DROP FOREIGN KEY FK_906517443EAF604D');
  64.         $this->addSql('ALTER TABLE payment DROP FOREIGN KEY FK_6D28840D9395C3F3');
  65.         $this->addSql('ALTER TABLE workshop_infos DROP FOREIGN KEY FK_648D1771FDCE57C');
  66.         $this->addSql('ALTER TABLE workshop_infos_workshop_location DROP FOREIGN KEY FK_31462AB7D7DB861F');
  67.         $this->addSql('ALTER TABLE workshop_infos_workshop_location DROP FOREIGN KEY FK_31462AB73B124AC0');
  68.         $this->addSql('ALTER TABLE workshop_video DROP FOREIGN KEY FK_944589361FDCE57C');
  69.         $this->addSql('DROP TABLE article');
  70.         $this->addSql('DROP TABLE book');
  71.         $this->addSql('DROP TABLE contact');
  72.         $this->addSql('DROP TABLE customer');
  73.         $this->addSql('DROP TABLE discount');
  74.         $this->addSql('DROP TABLE event');
  75.         $this->addSql('DROP TABLE event_registration');
  76.         $this->addSql('DROP TABLE free_registration');
  77.         $this->addSql('DROP TABLE invoice');
  78.         $this->addSql('DROP TABLE news');
  79.         $this->addSql('DROP TABLE `order`');
  80.         $this->addSql('DROP TABLE partners');
  81.         $this->addSql('DROP TABLE payment');
  82.         $this->addSql('DROP TABLE user');
  83.         $this->addSql('DROP TABLE workshop');
  84.         $this->addSql('DROP TABLE workshop_infos');
  85.         $this->addSql('DROP TABLE workshop_infos_workshop_location');
  86.         $this->addSql('DROP TABLE workshop_location');
  87.         $this->addSql('DROP TABLE workshop_video');
  88.     }
  89. }