<?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 Version20220405014857 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 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');
$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');
$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');
$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');
$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');
$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');
$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');
$this->addSql('ALTER TABLE artist_image ADD CONSTRAINT FK_A531340CB7970CF8 FOREIGN KEY (artist_id) REFERENCES artist (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE artist_image ADD CONSTRAINT FK_A531340C3DA5256D FOREIGN KEY (image_id) REFERENCES image (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE lineup ADD CONSTRAINT FK_CD7E0ECA2298D193 FOREIGN KEY (stage_id) REFERENCES stage (id)');
$this->addSql('ALTER TABLE lineup ADD CONSTRAINT FK_CD7E0ECAB7970CF8 FOREIGN KEY (artist_id) REFERENCES artist (id)');
$this->addSql('ALTER TABLE news_image ADD CONSTRAINT FK_BF828301B5A459A0 FOREIGN KEY (news_id) REFERENCES news (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE news_image ADD CONSTRAINT FK_BF8283013DA5256D FOREIGN KEY (image_id) REFERENCES image (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE stage ADD CONSTRAINT FK_C27C93693DA5256D FOREIGN KEY (image_id) REFERENCES image (id)');
$this->addSql('ALTER TABLE messenger_messages CHANGE queue_name queue_name VARCHAR(190) NOT NULL');
$this->addSql('CREATE INDEX IDX_75EA56E0FB7336F0 ON messenger_messages (queue_name)');
$this->addSql('CREATE INDEX IDX_75EA56E0E3BD61CE ON messenger_messages (available_at)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE artist_image DROP FOREIGN KEY FK_A531340CB7970CF8');
$this->addSql('ALTER TABLE lineup DROP FOREIGN KEY FK_CD7E0ECAB7970CF8');
$this->addSql('ALTER TABLE artist_image DROP FOREIGN KEY FK_A531340C3DA5256D');
$this->addSql('ALTER TABLE news_image DROP FOREIGN KEY FK_BF8283013DA5256D');
$this->addSql('ALTER TABLE stage DROP FOREIGN KEY FK_C27C93693DA5256D');
$this->addSql('ALTER TABLE news_image DROP FOREIGN KEY FK_BF828301B5A459A0');
$this->addSql('ALTER TABLE lineup DROP FOREIGN KEY FK_CD7E0ECA2298D193');
$this->addSql('DROP TABLE artist');
$this->addSql('DROP TABLE artist_image');
$this->addSql('DROP TABLE image');
$this->addSql('DROP TABLE lineup');
$this->addSql('DROP TABLE news');
$this->addSql('DROP TABLE news_image');
$this->addSql('DROP TABLE stage');
$this->addSql('DROP INDEX IDX_75EA56E0FB7336F0 ON messenger_messages');
$this->addSql('DROP INDEX IDX_75EA56E0E3BD61CE ON messenger_messages');
$this->addSql('ALTER TABLE messenger_messages CHANGE queue_name queue_name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`');
}
}