<?php
declare(strict_types=1);
namespace PPSDKDoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
final class Version20220601162928_GeneralContest 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 general_contests (
id INT AUTO_INCREMENT NOT NULL,
rules_content LONGTEXT NOT NULL,
linked_shop_id INT DEFAULT NULL,
linked_shops_category_id INT DEFAULT NULL,
linked_articles_category_id INT DEFAULT NULL,
linked_article_id INT DEFAULT NULL,
linked_articles_section_id INT DEFAULT NULL,
created_by_admin_id INT DEFAULT NULL,
updated_by_admin_id INT DEFAULT NULL,
deleted_by_admin_id INT DEFAULT NULL,
web_id INT NOT NULL, show_homepage_info_box TINYINT(1) NOT NULL,
homepage_box_title VARCHAR(255) NOT NULL,
homepage_box_content LONGTEXT NOT NULL,
confirm_rules_title VARCHAR(255) NOT NULL,
confirm_rules_button_label VARCHAR(255) NOT NULL,
confirm_rules_checkbox_label VARCHAR(255) NOT NULL,
link_label VARCHAR(255) NOT NULL, link_title_attribute VARCHAR(255) NOT NULL,
open_in_new_tab TINYINT(1) NOT NULL,
link_type VARCHAR(32) NOT NULL,
link_url VARCHAR(392) NOT NULL,
link_web_route VARCHAR(255) NOT NULL,
link_web_route_parameters LONGTEXT NOT NULL COMMENT \'(DC2Type:json)\',
link_url_suffix VARCHAR(255) NOT NULL, link_resolved_web_route_path VARCHAR(255) NOT NULL,
created_when DATETIME NOT NULL,
updated_when DATETIME NOT NULL, deleted TINYINT(1) NOT NULL,
not_deleted TINYINT(1) DEFAULT NULL,
deleted_when DATETIME DEFAULT NULL,
name VARCHAR(255) NOT NULL,
identifier VARCHAR(40) NOT NULL,
active_from_when DATETIME NOT NULL,
active_to_when DATETIME NOT NULL,
INDEX IDX_F71DB4DC265EFC4A (linked_shop_id),
INDEX IDX_F71DB4DCBD0D8A9D (linked_shops_category_id),
INDEX IDX_F71DB4DC88C468C1 (linked_articles_category_id),
INDEX IDX_F71DB4DCE5505DDB (linked_article_id),
INDEX IDX_F71DB4DCE56576FB (linked_articles_section_id),
INDEX IDX_F71DB4DC64F1F4EE (created_by_admin_id),
INDEX IDX_F71DB4DC681D6437 (updated_by_admin_id),
INDEX IDX_F71DB4DC54C5E183 (deleted_by_admin_id),
INDEX IDX_F71DB4DCFE18474D (web_id),
UNIQUE INDEX identifier (identifier, not_deleted),
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE general_contests_participants (
id INT AUTO_INCREMENT NOT NULL,
contest_id INT NOT NULL,
user_id INT NOT NULL,
rules_accepted TINYINT(1) DEFAULT 0 NOT NULL,
rules_accepted_when DATETIME DEFAULT NULL,
created_when DATETIME NOT NULL,
updated_when DATETIME NOT NULL,
INDEX IDX_F872C5111CD0F0DE (contest_id),
INDEX IDX_F872C511A76ED395 (user_id),
UNIQUE INDEX contest_participant (contest_id, user_id),
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DC265EFC4A FOREIGN KEY (linked_shop_id) REFERENCES shops (id)');
$this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DCBD0D8A9D FOREIGN KEY (linked_shops_category_id) REFERENCES shops_categories (id)');
$this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DC88C468C1 FOREIGN KEY (linked_articles_category_id) REFERENCES articles_categories (id)');
$this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DCE5505DDB FOREIGN KEY (linked_article_id) REFERENCES articles (id)');
$this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DCE56576FB FOREIGN KEY (linked_articles_section_id) REFERENCES articles_sections (id)');
$this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DC64F1F4EE FOREIGN KEY (created_by_admin_id) REFERENCES administrators (id)');
$this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DC681D6437 FOREIGN KEY (updated_by_admin_id) REFERENCES administrators (id)');
$this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DC54C5E183 FOREIGN KEY (deleted_by_admin_id) REFERENCES administrators (id)');
$this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DCFE18474D FOREIGN KEY (web_id) REFERENCES webs (id)');
$this->addSql('ALTER TABLE general_contests_participants ADD CONSTRAINT FK_F872C5111CD0F0DE FOREIGN KEY (contest_id) REFERENCES general_contests (id)');
$this->addSql('ALTER TABLE general_contests_participants ADD CONSTRAINT FK_F872C511A76ED395 FOREIGN KEY (user_id) REFERENCES users (id)');
}
public function down(Schema $schema): void
{
$this->addSql('ALTER TABLE general_contests_participants DROP FOREIGN KEY FK_F872C5111CD0F0DE');
$this->addSql('DROP TABLE general_contests');
$this->addSql('DROP TABLE general_contests_participants');
}
}