migrations/Version20220405014857.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 Version20220405014857 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 artist (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, description LONGTEXT DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE artist_image (artist_id INT NOT NULL, image_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', INDEX IDX_A531340CB7970CF8 (artist_id), INDEX IDX_A531340C3DA5256D (image_id), PRIMARY KEY(artist_id, image_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE image (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', filename VARCHAR(255) NOT NULL, mime VARCHAR(127) NOT NULL, caption VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  21.         $this->addSql('CREATE TABLE lineup (id INT AUTO_INCREMENT NOT NULL, stage_id INT NOT NULL, artist_id INT DEFAULT NULL, start_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', end_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', details LONGTEXT DEFAULT NULL, INDEX IDX_CD7E0ECA2298D193 (stage_id), INDEX IDX_CD7E0ECAB7970CF8 (artist_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  22.         $this->addSql('CREATE TABLE news (id INT AUTO_INCREMENT NOT NULL, title VARCHAR(255) NOT NULL, body LONGTEXT DEFAULT NULL, published_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', top TINYINT(1) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  23.         $this->addSql('CREATE TABLE news_image (news_id INT NOT NULL, image_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', INDEX IDX_BF828301B5A459A0 (news_id), INDEX IDX_BF8283013DA5256D (image_id), PRIMARY KEY(news_id, image_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  24.         $this->addSql('CREATE TABLE stage (id INT AUTO_INCREMENT NOT NULL, image_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', name VARCHAR(255) NOT NULL, description LONGTEXT DEFAULT NULL, INDEX IDX_C27C93693DA5256D (image_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  25.         $this->addSql('ALTER TABLE artist_image ADD CONSTRAINT FK_A531340CB7970CF8 FOREIGN KEY (artist_id) REFERENCES artist (id) ON DELETE CASCADE');
  26.         $this->addSql('ALTER TABLE artist_image ADD CONSTRAINT FK_A531340C3DA5256D FOREIGN KEY (image_id) REFERENCES image (id) ON DELETE CASCADE');
  27.         $this->addSql('ALTER TABLE lineup ADD CONSTRAINT FK_CD7E0ECA2298D193 FOREIGN KEY (stage_id) REFERENCES stage (id)');
  28.         $this->addSql('ALTER TABLE lineup ADD CONSTRAINT FK_CD7E0ECAB7970CF8 FOREIGN KEY (artist_id) REFERENCES artist (id)');
  29.         $this->addSql('ALTER TABLE news_image ADD CONSTRAINT FK_BF828301B5A459A0 FOREIGN KEY (news_id) REFERENCES news (id) ON DELETE CASCADE');
  30.         $this->addSql('ALTER TABLE news_image ADD CONSTRAINT FK_BF8283013DA5256D FOREIGN KEY (image_id) REFERENCES image (id) ON DELETE CASCADE');
  31.         $this->addSql('ALTER TABLE stage ADD CONSTRAINT FK_C27C93693DA5256D FOREIGN KEY (image_id) REFERENCES image (id)');
  32.         $this->addSql('ALTER TABLE messenger_messages CHANGE queue_name queue_name VARCHAR(190) NOT NULL');
  33.         $this->addSql('CREATE INDEX IDX_75EA56E0FB7336F0 ON messenger_messages (queue_name)');
  34.         $this->addSql('CREATE INDEX IDX_75EA56E0E3BD61CE ON messenger_messages (available_at)');
  35.     }
  36.     public function down(Schema $schema): void
  37.     {
  38.         // this down() migration is auto-generated, please modify it to your needs
  39.         $this->addSql('ALTER TABLE artist_image DROP FOREIGN KEY FK_A531340CB7970CF8');
  40.         $this->addSql('ALTER TABLE lineup DROP FOREIGN KEY FK_CD7E0ECAB7970CF8');
  41.         $this->addSql('ALTER TABLE artist_image DROP FOREIGN KEY FK_A531340C3DA5256D');
  42.         $this->addSql('ALTER TABLE news_image DROP FOREIGN KEY FK_BF8283013DA5256D');
  43.         $this->addSql('ALTER TABLE stage DROP FOREIGN KEY FK_C27C93693DA5256D');
  44.         $this->addSql('ALTER TABLE news_image DROP FOREIGN KEY FK_BF828301B5A459A0');
  45.         $this->addSql('ALTER TABLE lineup DROP FOREIGN KEY FK_CD7E0ECA2298D193');
  46.         $this->addSql('DROP TABLE artist');
  47.         $this->addSql('DROP TABLE artist_image');
  48.         $this->addSql('DROP TABLE image');
  49.         $this->addSql('DROP TABLE lineup');
  50.         $this->addSql('DROP TABLE news');
  51.         $this->addSql('DROP TABLE news_image');
  52.         $this->addSql('DROP TABLE stage');
  53.         $this->addSql('DROP INDEX IDX_75EA56E0FB7336F0 ON messenger_messages');
  54.         $this->addSql('DROP INDEX IDX_75EA56E0E3BD61CE ON messenger_messages');
  55.         $this->addSql('ALTER TABLE messenger_messages CHANGE queue_name queue_name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`');
  56.     }
  57. }