vendor/plna-penezenka/pp-sdk-bundle/migrations/Version20220304205304_ProductCampaigns.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 Version20220304205304_ProductCampaigns extends AbstractMigration
  7. {
  8.     public function getDescription(): string
  9.     {
  10.         return 'Product campaign logic';
  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 product_campaigns (id INT AUTO_INCREMENT NOT NULL, created_by_admin_id INT DEFAULT NULL, updated_by_admin_id INT DEFAULT NULL, deleted_by_admin_id INT DEFAULT NULL, published_by_admin_id INT DEFAULT NULL, unpublished_by_admin_id INT DEFAULT NULL, web_id INT NOT NULL, deactivated_by_admin_id INT DEFAULT NULL, reactivated_by_admin_id INT DEFAULT NULL, subtitle LONGTEXT NOT NULL, hero_product_headline VARCHAR(255) NOT NULL, hero_product_subtitle VARCHAR(255) NOT NULL, other_extra_cashback_shops_headline VARCHAR(255) NOT NULL, tutorial_headline VARCHAR(255) NOT NULL, tutorial_info VARCHAR(255) NOT NULL, share_text VARCHAR(255) NOT NULL, partner_shops_headline VARCHAR(255) NOT NULL, recommendation_extra_info VARCHAR(255) NOT NULL, resolved_page_path VARCHAR(400) NOT NULL, page_path_resolved_when DATETIME DEFAULT NULL, page_path_resolve_error VARCHAR(255) NOT NULL, allow_access_when_deactivated TINYINT(1) NOT NULL, keep_in_sitemap_when_deactivated TINYINT(1) NOT NULL, keep_in_search_when_deactivated TINYINT(1) NOT NULL, listing_title VARCHAR(255) NOT NULL, breadcrumb_title VARCHAR(255) NOT NULL, h1_title 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, published TINYINT(1) NOT NULL, published_when DATETIME DEFAULT NULL, unpublished_when DATETIME DEFAULT NULL, identifier VARCHAR(40) NOT NULL, url_slug VARCHAR(255) NOT NULL, url_slug_hash VARCHAR(35) NOT NULL, deactivated TINYINT(1) NOT NULL, deactivated_when DATETIME DEFAULT NULL, reactivated_when DATETIME DEFAULT NULL, deactivation_type VARCHAR(40) NOT NULL, deactivation_reason VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, active_from_date DATE NOT NULL, active_to_date DATE DEFAULT NULL, hero_image_attached TINYINT(1) NOT NULL, hero_image_attached_when DATETIME DEFAULT NULL, hero_image_url VARCHAR(255) NOT NULL, hero_image_storage_path VARCHAR(255) NOT NULL, hero_image_file_size INT NOT NULL, hero_image_mime_type VARCHAR(40) NOT NULL, hero_image_width INT NOT NULL, hero_image_height INT NOT NULL, hero_image_alt VARCHAR(255) DEFAULT \'\' NOT NULL, seo_meta_title VARCHAR(255) NOT NULL, seo_meta_robots VARCHAR(255) NOT NULL, seo_meta_description LONGTEXT NOT NULL, seo_meta_keywords LONGTEXT NOT NULL, seo_canonical VARCHAR(255) NOT NULL, seo_sitemap_change_frequency VARCHAR(20) DEFAULT \'daily\' NOT NULL, og_title VARCHAR(255) NOT NULL, og_description VARCHAR(255) NOT NULL, og_image_attached TINYINT(1) NOT NULL, og_image_attached_when DATETIME DEFAULT NULL, og_image_url VARCHAR(255) NOT NULL, og_image_storage_path VARCHAR(255) NOT NULL, og_image_file_size INT NOT NULL, og_image_mime_type VARCHAR(40) NOT NULL, og_image_width INT NOT NULL, og_image_height INT NOT NULL, og_image_alt VARCHAR(255) DEFAULT \'\' NOT NULL, twitter_card VARCHAR(255) NOT NULL, twitter_title VARCHAR(255) NOT NULL, twitter_description VARCHAR(255) NOT NULL, twitter_image_attached TINYINT(1) NOT NULL, twitter_image_attached_when DATETIME DEFAULT NULL, twitter_image_url VARCHAR(255) NOT NULL, twitter_image_storage_path VARCHAR(255) NOT NULL, twitter_image_file_size INT NOT NULL, twitter_image_mime_type VARCHAR(40) NOT NULL, twitter_image_width INT NOT NULL, twitter_image_height INT NOT NULL, twitter_image_alt VARCHAR(255) DEFAULT \'\' NOT NULL, INDEX IDX_8DD3C2FD64F1F4EE (created_by_admin_id), INDEX IDX_8DD3C2FD681D6437 (updated_by_admin_id), INDEX IDX_8DD3C2FD54C5E183 (deleted_by_admin_id), INDEX IDX_8DD3C2FD261C8226 (published_by_admin_id), INDEX IDX_8DD3C2FD1A976CE (unpublished_by_admin_id), INDEX IDX_8DD3C2FDFE18474D (web_id), INDEX IDX_8DD3C2FD70EFE094 (deactivated_by_admin_id), INDEX IDX_8DD3C2FD9C5714A2 (reactivated_by_admin_id), UNIQUE INDEX identifier (identifier, not_deleted), UNIQUE INDEX url_slug_hash (url_slug_hash, not_deleted), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  16.         $this->addSql('CREATE TABLE product_campaigns_days (id INT AUTO_INCREMENT NOT NULL, product_campaign_id INT DEFAULT NULL, promoted_product_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, date DATE NOT NULL, h1_title 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, seo_meta_title VARCHAR(255) NOT NULL, seo_meta_robots VARCHAR(255) NOT NULL, seo_meta_description LONGTEXT NOT NULL, seo_meta_keywords LONGTEXT NOT NULL, seo_canonical VARCHAR(255) NOT NULL, seo_sitemap_change_frequency VARCHAR(20) DEFAULT \'daily\' NOT NULL, og_title VARCHAR(255) NOT NULL, og_description VARCHAR(255) NOT NULL, og_image_attached TINYINT(1) NOT NULL, og_image_attached_when DATETIME DEFAULT NULL, og_image_url VARCHAR(255) NOT NULL, og_image_storage_path VARCHAR(255) NOT NULL, og_image_file_size INT NOT NULL, og_image_mime_type VARCHAR(40) NOT NULL, og_image_width INT NOT NULL, og_image_height INT NOT NULL, og_image_alt VARCHAR(255) DEFAULT \'\' NOT NULL, twitter_card VARCHAR(255) NOT NULL, twitter_title VARCHAR(255) NOT NULL, twitter_description VARCHAR(255) NOT NULL, twitter_image_attached TINYINT(1) NOT NULL, twitter_image_attached_when DATETIME DEFAULT NULL, twitter_image_url VARCHAR(255) NOT NULL, twitter_image_storage_path VARCHAR(255) NOT NULL, twitter_image_file_size INT NOT NULL, twitter_image_mime_type VARCHAR(40) NOT NULL, twitter_image_width INT NOT NULL, twitter_image_height INT NOT NULL, twitter_image_alt VARCHAR(255) DEFAULT \'\' NOT NULL, INDEX IDX_DBC353735A16696B (product_campaign_id), INDEX IDX_DBC353737BA39F43 (promoted_product_id), INDEX IDX_DBC3537364F1F4EE (created_by_admin_id), INDEX IDX_DBC35373681D6437 (updated_by_admin_id), INDEX IDX_DBC3537354C5E183 (deleted_by_admin_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  17.         $this->addSql('CREATE TABLE product_campaigns_partner_shops (id INT AUTO_INCREMENT NOT NULL, product_campaign_id INT NOT NULL, shop_id INT NOT NULL, listing_order INT NOT NULL, created_when DATETIME NOT NULL, updated_when DATETIME NOT NULL, INDEX IDX_AB1C39475A16696B (product_campaign_id), INDEX IDX_AB1C39474D16C4DD (shop_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  18.         $this->addSql('CREATE TABLE product_campaigns_products (id INT AUTO_INCREMENT NOT NULL, product_campaign_id INT NOT NULL, partner_shop_id INT NOT NULL, review_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, deactivated_by_admin_id INT DEFAULT NULL, reactivated_by_admin_id INT DEFAULT NULL, published_by_admin_id INT DEFAULT NULL, unpublished_by_admin_id INT DEFAULT NULL, review_link_title VARCHAR(50) DEFAULT \'\' NOT NULL, title LONGTEXT NOT NULL, description LONGTEXT NOT NULL, tooltip LONGTEXT NOT NULL, custom_target_url LONGTEXT NOT NULL, custom_button_label VARCHAR(50) DEFAULT \'\' NOT NULL, labels JSON NOT NULL, listing_order INT DEFAULT 0 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, deactivated TINYINT(1) NOT NULL, deactivated_when DATETIME DEFAULT NULL, reactivated_when DATETIME DEFAULT NULL, deactivation_type VARCHAR(40) NOT NULL, deactivation_reason VARCHAR(255) NOT NULL, published TINYINT(1) NOT NULL, published_when DATETIME DEFAULT NULL, unpublished_when DATETIME DEFAULT NULL, active_from_when DATETIME NOT NULL, active_to_when DATETIME NOT NULL, image_attached TINYINT(1) NOT NULL, image_attached_when DATETIME DEFAULT NULL, image_url VARCHAR(255) NOT NULL, image_storage_path VARCHAR(255) NOT NULL, image_file_size INT NOT NULL, image_mime_type VARCHAR(40) NOT NULL, image_width INT NOT NULL, image_height INT NOT NULL, image_alt VARCHAR(255) DEFAULT \'\' NOT NULL, INDEX IDX_FA4565635A16696B (product_campaign_id), INDEX IDX_FA4565638AFCA7C0 (partner_shop_id), INDEX IDX_FA4565633E2E969B (review_id), INDEX IDX_FA45656364F1F4EE (created_by_admin_id), INDEX IDX_FA456563681D6437 (updated_by_admin_id), INDEX IDX_FA45656354C5E183 (deleted_by_admin_id), INDEX IDX_FA45656370EFE094 (deactivated_by_admin_id), INDEX IDX_FA4565639C5714A2 (reactivated_by_admin_id), INDEX IDX_FA456563261C8226 (published_by_admin_id), INDEX IDX_FA4565631A976CE (unpublished_by_admin_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('ALTER TABLE product_campaigns ADD CONSTRAINT FK_8DD3C2FD64F1F4EE FOREIGN KEY (created_by_admin_id) REFERENCES administrators (id)');
  20.         $this->addSql('ALTER TABLE product_campaigns ADD CONSTRAINT FK_8DD3C2FD681D6437 FOREIGN KEY (updated_by_admin_id) REFERENCES administrators (id)');
  21.         $this->addSql('ALTER TABLE product_campaigns ADD CONSTRAINT FK_8DD3C2FD54C5E183 FOREIGN KEY (deleted_by_admin_id) REFERENCES administrators (id)');
  22.         $this->addSql('ALTER TABLE product_campaigns ADD CONSTRAINT FK_8DD3C2FD261C8226 FOREIGN KEY (published_by_admin_id) REFERENCES administrators (id)');
  23.         $this->addSql('ALTER TABLE product_campaigns ADD CONSTRAINT FK_8DD3C2FD1A976CE FOREIGN KEY (unpublished_by_admin_id) REFERENCES administrators (id)');
  24.         $this->addSql('ALTER TABLE product_campaigns ADD CONSTRAINT FK_8DD3C2FDFE18474D FOREIGN KEY (web_id) REFERENCES webs (id)');
  25.         $this->addSql('ALTER TABLE product_campaigns ADD CONSTRAINT FK_8DD3C2FD70EFE094 FOREIGN KEY (deactivated_by_admin_id) REFERENCES administrators (id)');
  26.         $this->addSql('ALTER TABLE product_campaigns ADD CONSTRAINT FK_8DD3C2FD9C5714A2 FOREIGN KEY (reactivated_by_admin_id) REFERENCES administrators (id)');
  27.         $this->addSql('ALTER TABLE product_campaigns_days ADD CONSTRAINT FK_DBC353735A16696B FOREIGN KEY (product_campaign_id) REFERENCES product_campaigns (id)');
  28.         $this->addSql('ALTER TABLE product_campaigns_days ADD CONSTRAINT FK_DBC353737BA39F43 FOREIGN KEY (promoted_product_id) REFERENCES product_campaigns_products (id)');
  29.         $this->addSql('ALTER TABLE product_campaigns_days ADD CONSTRAINT FK_DBC3537364F1F4EE FOREIGN KEY (created_by_admin_id) REFERENCES administrators (id)');
  30.         $this->addSql('ALTER TABLE product_campaigns_days ADD CONSTRAINT FK_DBC35373681D6437 FOREIGN KEY (updated_by_admin_id) REFERENCES administrators (id)');
  31.         $this->addSql('ALTER TABLE product_campaigns_days ADD CONSTRAINT FK_DBC3537354C5E183 FOREIGN KEY (deleted_by_admin_id) REFERENCES administrators (id)');
  32.         $this->addSql('ALTER TABLE product_campaigns_partner_shops ADD CONSTRAINT FK_AB1C39475A16696B FOREIGN KEY (product_campaign_id) REFERENCES product_campaigns (id)');
  33.         $this->addSql('ALTER TABLE product_campaigns_partner_shops ADD CONSTRAINT FK_AB1C39474D16C4DD FOREIGN KEY (shop_id) REFERENCES shops (id)');
  34.         $this->addSql('ALTER TABLE product_campaigns_products ADD CONSTRAINT FK_FA4565635A16696B FOREIGN KEY (product_campaign_id) REFERENCES product_campaigns (id)');
  35.         $this->addSql('ALTER TABLE product_campaigns_products ADD CONSTRAINT FK_FA4565638AFCA7C0 FOREIGN KEY (partner_shop_id) REFERENCES shops (id)');
  36.         $this->addSql('ALTER TABLE product_campaigns_products ADD CONSTRAINT FK_FA4565633E2E969B FOREIGN KEY (review_id) REFERENCES articles (id)');
  37.         $this->addSql('ALTER TABLE product_campaigns_products ADD CONSTRAINT FK_FA45656364F1F4EE FOREIGN KEY (created_by_admin_id) REFERENCES administrators (id)');
  38.         $this->addSql('ALTER TABLE product_campaigns_products ADD CONSTRAINT FK_FA456563681D6437 FOREIGN KEY (updated_by_admin_id) REFERENCES administrators (id)');
  39.         $this->addSql('ALTER TABLE product_campaigns_products ADD CONSTRAINT FK_FA45656354C5E183 FOREIGN KEY (deleted_by_admin_id) REFERENCES administrators (id)');
  40.         $this->addSql('ALTER TABLE product_campaigns_products ADD CONSTRAINT FK_FA45656370EFE094 FOREIGN KEY (deactivated_by_admin_id) REFERENCES administrators (id)');
  41.         $this->addSql('ALTER TABLE product_campaigns_products ADD CONSTRAINT FK_FA4565639C5714A2 FOREIGN KEY (reactivated_by_admin_id) REFERENCES administrators (id)');
  42.         $this->addSql('ALTER TABLE product_campaigns_products ADD CONSTRAINT FK_FA456563261C8226 FOREIGN KEY (published_by_admin_id) REFERENCES administrators (id)');
  43.         $this->addSql('ALTER TABLE product_campaigns_products ADD CONSTRAINT FK_FA4565631A976CE FOREIGN KEY (unpublished_by_admin_id) REFERENCES administrators (id)');
  44.         $this->addSql('ALTER TABLE registration_bonuses ADD only_for_recommended_users TINYINT(1) DEFAULT 0 NOT NULL');
  45.     }
  46.     public function down(Schema $schema): void
  47.     {
  48.         // this down() migration is auto-generated, please modify it to your needs
  49.         $this->addSql('ALTER TABLE product_campaigns_days DROP FOREIGN KEY FK_DBC353735A16696B');
  50.         $this->addSql('ALTER TABLE product_campaigns_partner_shops DROP FOREIGN KEY FK_AB1C39475A16696B');
  51.         $this->addSql('ALTER TABLE product_campaigns_products DROP FOREIGN KEY FK_FA4565635A16696B');
  52.         $this->addSql('ALTER TABLE product_campaigns_days DROP FOREIGN KEY FK_DBC353737BA39F43');
  53.         $this->addSql('DROP TABLE product_campaigns');
  54.         $this->addSql('DROP TABLE product_campaigns_days');
  55.         $this->addSql('DROP TABLE product_campaigns_partner_shops');
  56.         $this->addSql('DROP TABLE product_campaigns_products');
  57.         $this->addSql('ALTER TABLE registration_bonuses DROP only_for_recommended_users');
  58.     }
  59. }