vendor/plna-penezenka/pp-sdk-bundle/migrations/Version20220601162928_GeneralContest.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace PPSDKDoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. final class Version20220601162928_GeneralContest extends AbstractMigration
  7. {
  8.     public function getDescription(): string
  9.     {
  10.         return '';
  11.     }
  12.     public function up(Schema $schema): void
  13.     {
  14.         // this up() migration is auto-generated, please modify it to your needs
  15.         $this->addSql('CREATE TABLE general_contests (
  16.             id INT AUTO_INCREMENT NOT NULL, 
  17.             rules_content LONGTEXT NOT NULL, 
  18.             linked_shop_id INT DEFAULT NULL,
  19.             linked_shops_category_id INT DEFAULT NULL, 
  20.             linked_articles_category_id INT DEFAULT NULL, 
  21.             linked_article_id INT DEFAULT NULL, 
  22.             linked_articles_section_id INT DEFAULT NULL,
  23.             created_by_admin_id INT DEFAULT NULL,
  24.             updated_by_admin_id INT DEFAULT NULL, 
  25.             deleted_by_admin_id INT DEFAULT NULL,
  26.             web_id INT NOT NULL, show_homepage_info_box TINYINT(1) NOT NULL, 
  27.             homepage_box_title VARCHAR(255) NOT NULL, 
  28.             homepage_box_content LONGTEXT NOT NULL, 
  29.             confirm_rules_title VARCHAR(255) NOT NULL, 
  30.             confirm_rules_button_label VARCHAR(255) NOT NULL,
  31.             confirm_rules_checkbox_label VARCHAR(255) NOT NULL,
  32.             link_label VARCHAR(255) NOT NULL, link_title_attribute VARCHAR(255) NOT NULL, 
  33.             open_in_new_tab TINYINT(1) NOT NULL, 
  34.             link_type VARCHAR(32) NOT NULL, 
  35.             link_url VARCHAR(392) NOT NULL,
  36.             link_web_route VARCHAR(255) NOT NULL,
  37.             link_web_route_parameters LONGTEXT NOT NULL COMMENT \'(DC2Type:json)\',
  38.             link_url_suffix VARCHAR(255) NOT NULL, link_resolved_web_route_path VARCHAR(255) NOT NULL,
  39.             created_when DATETIME NOT NULL, 
  40.             updated_when DATETIME NOT NULL, deleted TINYINT(1) NOT NULL,
  41.             not_deleted TINYINT(1) DEFAULT NULL,
  42.             deleted_when DATETIME DEFAULT NULL, 
  43.             name VARCHAR(255) NOT NULL,
  44.             identifier VARCHAR(40) NOT NULL,
  45.             active_from_when DATETIME NOT NULL,
  46.             active_to_when DATETIME NOT NULL, 
  47.             INDEX IDX_F71DB4DC265EFC4A (linked_shop_id), 
  48.             INDEX IDX_F71DB4DCBD0D8A9D (linked_shops_category_id), 
  49.             INDEX IDX_F71DB4DC88C468C1 (linked_articles_category_id), 
  50.             INDEX IDX_F71DB4DCE5505DDB (linked_article_id), 
  51.             INDEX IDX_F71DB4DCE56576FB (linked_articles_section_id), 
  52.             INDEX IDX_F71DB4DC64F1F4EE (created_by_admin_id), 
  53.             INDEX IDX_F71DB4DC681D6437 (updated_by_admin_id), 
  54.             INDEX IDX_F71DB4DC54C5E183 (deleted_by_admin_id), 
  55.             INDEX IDX_F71DB4DCFE18474D (web_id), 
  56.             UNIQUE INDEX identifier (identifier, not_deleted), 
  57.             PRIMARY KEY(id)
  58.         ) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  59.         $this->addSql('CREATE TABLE general_contests_participants (
  60.             id INT AUTO_INCREMENT NOT NULL, 
  61.             contest_id INT NOT NULL, 
  62.             user_id INT NOT NULL, 
  63.             rules_accepted TINYINT(1) DEFAULT 0 NOT NULL,
  64.             rules_accepted_when DATETIME DEFAULT NULL,
  65.             created_when DATETIME NOT NULL,
  66.             updated_when DATETIME NOT NULL, 
  67.             INDEX IDX_F872C5111CD0F0DE (contest_id),
  68.             INDEX IDX_F872C511A76ED395 (user_id),
  69.             UNIQUE INDEX contest_participant (contest_id, user_id),
  70.             PRIMARY KEY(id)
  71.        ) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  72.         $this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DC265EFC4A FOREIGN KEY (linked_shop_id) REFERENCES shops (id)');
  73.         $this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DCBD0D8A9D FOREIGN KEY (linked_shops_category_id) REFERENCES shops_categories (id)');
  74.         $this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DC88C468C1 FOREIGN KEY (linked_articles_category_id) REFERENCES articles_categories (id)');
  75.         $this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DCE5505DDB FOREIGN KEY (linked_article_id) REFERENCES articles (id)');
  76.         $this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DCE56576FB FOREIGN KEY (linked_articles_section_id) REFERENCES articles_sections (id)');
  77.         $this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DC64F1F4EE FOREIGN KEY (created_by_admin_id) REFERENCES administrators (id)');
  78.         $this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DC681D6437 FOREIGN KEY (updated_by_admin_id) REFERENCES administrators (id)');
  79.         $this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DC54C5E183 FOREIGN KEY (deleted_by_admin_id) REFERENCES administrators (id)');
  80.         $this->addSql('ALTER TABLE general_contests ADD CONSTRAINT FK_F71DB4DCFE18474D FOREIGN KEY (web_id) REFERENCES webs (id)');
  81.         $this->addSql('ALTER TABLE general_contests_participants ADD CONSTRAINT FK_F872C5111CD0F0DE FOREIGN KEY (contest_id) REFERENCES general_contests (id)');
  82.         $this->addSql('ALTER TABLE general_contests_participants ADD CONSTRAINT FK_F872C511A76ED395 FOREIGN KEY (user_id) REFERENCES users (id)');
  83.     }
  84.     public function down(Schema $schema): void
  85.     {
  86.         $this->addSql('ALTER TABLE general_contests_participants DROP FOREIGN KEY FK_F872C5111CD0F0DE');
  87.         $this->addSql('DROP TABLE general_contests');
  88.         $this->addSql('DROP TABLE general_contests_participants');
  89.     }
  90. }