vendor/bluue/products-bundle/migrations/Version20221118144208.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace ProductsBundleMigrations;
  4. use DateTime;
  5. use Doctrine\DBAL\Schema\Schema;
  6. use App\Services\ObjectSerialize;
  7. use Symfony\Component\Uid\UuidV6;
  8. use Doctrine\Migrations\AbstractMigration;
  9. final class Version20221118144208 extends AbstractMigration
  10. {
  11.     private ObjectSerialize $objectSerialize;
  12.     public function setObjectSerialize(ObjectSerialize $objectSerialize)
  13.     {
  14.         $this->objectSerialize $objectSerialize;
  15.     }
  16.     public function up(Schema $schema): void
  17.     {
  18.         $this->addSql('CREATE TABLE products_bundle__attribute (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', attribute_group_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', updated_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', deleted_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', name VARCHAR(128) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, deleted_at DATETIME DEFAULT NULL, INDEX IDX_929927FF62D643B7 (attribute_group_id), INDEX IDX_929927FFB03A8386 (created_by_id), INDEX IDX_929927FF896DBBDE (updated_by_id), INDEX IDX_929927FFC76F1F52 (deleted_by_id), INDEX name (name), INDEX deleted_at (deleted_at), INDEX created_at (created_at), INDEX updated_at (updated_at), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE products_bundle__attribute_context (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', attribute_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', context_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', INDEX IDX_2BEB560CB6E62EFA (attribute_id), INDEX IDX_2BEB560C6B00C1CF (context_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE products_bundle__attribute_group (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', updated_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', deleted_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', name VARCHAR(128) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, deleted_at DATETIME DEFAULT NULL, INDEX IDX_4E023231B03A8386 (created_by_id), INDEX IDX_4E023231896DBBDE (updated_by_id), INDEX IDX_4E023231C76F1F52 (deleted_by_id), INDEX name (name), INDEX deleted_at (deleted_at), INDEX created_at (created_at), INDEX updated_at (updated_at), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  21.         $this->addSql('CREATE TABLE products_bundle__attribute_group_context (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', attribute_group_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', context_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', INDEX IDX_4A85C4B862D643B7 (attribute_group_id), INDEX IDX_4A85C4B86B00C1CF (context_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  22.         $this->addSql('CREATE TABLE products_bundle__attribute_group_translations (id INT AUTO_INCREMENT NOT NULL, object_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', locale VARCHAR(8) NOT NULL, field VARCHAR(32) NOT NULL, content LONGTEXT DEFAULT NULL, INDEX IDX_660EAACD232D562B (object_id), FULLTEXT INDEX content (content), UNIQUE INDEX lookup_unique_idx (locale, object_id, field), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  23.         $this->addSql('CREATE TABLE products_bundle__attribute_translations (id INT AUTO_INCREMENT NOT NULL, object_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', locale VARCHAR(8) NOT NULL, field VARCHAR(32) NOT NULL, content LONGTEXT DEFAULT NULL, INDEX IDX_AAAF91FA232D562B (object_id), FULLTEXT INDEX content (content), UNIQUE INDEX lookup_unique_idx (locale, object_id, field), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  24.         $this->addSql('CREATE TABLE products_bundle__brand (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', updated_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', deleted_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', name VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, deleted_at DATETIME DEFAULT NULL, INDEX IDX_E6FC9E69B03A8386 (created_by_id), INDEX IDX_E6FC9E69896DBBDE (updated_by_id), INDEX IDX_E6FC9E69C76F1F52 (deleted_by_id), INDEX name (name), INDEX deleted_at (deleted_at), INDEX created_at (created_at), INDEX updated_at (updated_at), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  25.         $this->addSql('CREATE TABLE products_bundle__brand_context (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', brand_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', context_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', INDEX IDX_238239EF44F5D008 (brand_id), INDEX IDX_238239EF6B00C1CF (context_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  26.         $this->addSql('CREATE TABLE products_bundle__declination (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', product_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', virtual_parent_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', unit_measure_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', updated_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', deleted_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', reference VARCHAR(128) DEFAULT NULL, wholesale_price NUMERIC(20, 6) DEFAULT NULL, sell_price NUMERIC(20, 6) DEFAULT NULL, initial_unit NUMERIC(20, 6) DEFAULT NULL, weight NUMERIC(20, 6) DEFAULT NULL, virtual_quantity INT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, deleted_at DATETIME DEFAULT NULL, is_active TINYINT(1) DEFAULT 1 NOT NULL, INDEX IDX_CC8BB1204584665A (product_id), INDEX IDX_CC8BB12021C2B4E8 (virtual_parent_id), INDEX IDX_CC8BB1205E0BEBC0 (unit_measure_id), INDEX IDX_CC8BB120B03A8386 (created_by_id), INDEX IDX_CC8BB120896DBBDE (updated_by_id), INDEX IDX_CC8BB120C76F1F52 (deleted_by_id), INDEX reference (reference), INDEX wholesale_price (wholesale_price), INDEX sell_price (sell_price), INDEX initial_unit (initial_unit), INDEX weight (weight), INDEX is_active (is_active), INDEX deleted_at (deleted_at), INDEX created_at (created_at), INDEX updated_at (updated_at), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  27.         $this->addSql('CREATE TABLE products_bundle__declination_attribute (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', declination_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', attribute_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', updated_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', deleted_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, deleted_at DATETIME DEFAULT NULL, INDEX IDX_A248F59B9941A932 (declination_id), INDEX IDX_A248F59BB6E62EFA (attribute_id), INDEX IDX_A248F59BB03A8386 (created_by_id), INDEX IDX_A248F59B896DBBDE (updated_by_id), INDEX IDX_A248F59BC76F1F52 (deleted_by_id), INDEX deleted_at (deleted_at), INDEX created_at (created_at), INDEX updated_at (updated_at), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  28.         $this->addSql('CREATE TABLE products_bundle__declination_context (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', declination_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', context_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', INDEX IDX_B1F3A3809941A932 (declination_id), INDEX IDX_B1F3A3806B00C1CF (context_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  29.         $this->addSql('CREATE TABLE products_bundle__ean13 (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', product_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', declination_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', updated_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', deleted_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', value VARCHAR(13) DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, deleted_at DATETIME DEFAULT NULL, is_default TINYINT(1) NOT NULL, INDEX IDX_D50078F94584665A (product_id), INDEX IDX_D50078F99941A932 (declination_id), INDEX IDX_D50078F9B03A8386 (created_by_id), INDEX IDX_D50078F9896DBBDE (updated_by_id), INDEX IDX_D50078F9C76F1F52 (deleted_by_id), INDEX value (value), INDEX is_default (is_default), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  30.         $this->addSql('CREATE TABLE products_bundle__eco_part (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', eco_part_group_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', currency_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', updated_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', deleted_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', name VARCHAR(128) NOT NULL, reference VARCHAR(128) DEFAULT NULL, amount NUMERIC(20, 6) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, deleted_at DATETIME DEFAULT NULL, is_active TINYINT(1) DEFAULT 1 NOT NULL, INDEX IDX_52A691535F7690E5 (eco_part_group_id), INDEX IDX_52A6915338248176 (currency_id), INDEX IDX_52A69153B03A8386 (created_by_id), INDEX IDX_52A69153896DBBDE (updated_by_id), INDEX IDX_52A69153C76F1F52 (deleted_by_id), INDEX name (name), INDEX reference (reference), INDEX amount (amount), INDEX is_active (is_active), INDEX deleted_at (deleted_at), INDEX created_at (created_at), INDEX updated_at (updated_at), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  31.         $this->addSql('CREATE TABLE products_bundle__eco_part_group (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', updated_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', deleted_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', name VARCHAR(128) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, deleted_at DATETIME DEFAULT NULL, is_active TINYINT(1) DEFAULT 1 NOT NULL, INDEX IDX_86BC60A7B03A8386 (created_by_id), INDEX IDX_86BC60A7896DBBDE (updated_by_id), INDEX IDX_86BC60A7C76F1F52 (deleted_by_id), INDEX name (name), INDEX is_active (is_active), INDEX deleted_at (deleted_at), INDEX created_at (created_at), INDEX updated_at (updated_at), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  32.         $this->addSql('CREATE TABLE products_bundle__eco_part_group_translations (id INT AUTO_INCREMENT NOT NULL, object_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', locale VARCHAR(8) NOT NULL, field VARCHAR(32) NOT NULL, content LONGTEXT DEFAULT NULL, INDEX IDX_6453299E232D562B (object_id), FULLTEXT INDEX content (content), UNIQUE INDEX lookup_unique_idx (locale, object_id, field), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  33.         $this->addSql('CREATE TABLE products_bundle__eco_part_translations (id INT AUTO_INCREMENT NOT NULL, object_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', locale VARCHAR(8) NOT NULL, field VARCHAR(32) NOT NULL, content LONGTEXT DEFAULT NULL, INDEX IDX_7BFF0B9C232D562B (object_id), FULLTEXT INDEX content (content), UNIQUE INDEX lookup_unique_idx (locale, object_id, field), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  34.         $this->addSql('CREATE TABLE products_bundle__product (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', product_type_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', unit_measure_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', eco_part_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', tax_rule_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', brand_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', currency_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', parent_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', updated_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', deleted_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', eco_part_amount NUMERIC(20, 6) DEFAULT NULL, name VARCHAR(255) NOT NULL, reference VARCHAR(255) DEFAULT NULL, reference_brand VARCHAR(255) DEFAULT NULL, summary LONGTEXT DEFAULT NULL, description LONGTEXT DEFAULT NULL, source VARCHAR(255) DEFAULT NULL, wholesale_price NUMERIC(20, 6) DEFAULT NULL, sell_price NUMERIC(20, 6) DEFAULT NULL, changeable_tax_rule TINYINT(1) NOT NULL, initial_unit NUMERIC(20, 6) DEFAULT NULL, weight NUMERIC(20, 6) DEFAULT NULL, width NUMERIC(20, 6) DEFAULT NULL, height NUMERIC(20, 6) DEFAULT NULL, depth NUMERIC(20, 6) DEFAULT NULL, customs_code VARCHAR(10) DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, deleted_at DATETIME DEFAULT NULL, is_active TINYINT(1) DEFAULT 1 NOT NULL, INDEX IDX_C6C10D4A14959723 (product_type_id), INDEX IDX_C6C10D4A5E0BEBC0 (unit_measure_id), INDEX IDX_C6C10D4AAE870F68 (eco_part_id), INDEX IDX_C6C10D4A3506A35B (tax_rule_id), INDEX IDX_C6C10D4A44F5D008 (brand_id), INDEX IDX_C6C10D4A38248176 (currency_id), INDEX IDX_C6C10D4A727ACA70 (parent_id), INDEX IDX_C6C10D4AB03A8386 (created_by_id), INDEX IDX_C6C10D4A896DBBDE (updated_by_id), INDEX IDX_C6C10D4AC76F1F52 (deleted_by_id), INDEX reference (reference), INDEX reference_brand (reference_brand), INDEX name (name), INDEX wholesale_price (wholesale_price), INDEX sell_price (sell_price), INDEX is_active (is_active), INDEX deleted_at (deleted_at), INDEX created_at (created_at), INDEX updated_at (updated_at), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  35.         $this->addSql('CREATE TABLE products_bundle__product_context (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', product_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', context_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', INDEX IDX_F37E0B8C4584665A (product_id), INDEX IDX_F37E0B8C6B00C1CF (context_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  36.         $this->addSql('CREATE TABLE products_bundle__product_translations (id INT AUTO_INCREMENT NOT NULL, object_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', locale VARCHAR(8) NOT NULL, field VARCHAR(32) NOT NULL, content LONGTEXT DEFAULT NULL, INDEX IDX_9017C31B232D562B (object_id), FULLTEXT INDEX content (content), UNIQUE INDEX lookup_unique_idx (locale, object_id, field), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  37.         $this->addSql('CREATE TABLE products_bundle__product_type (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', updated_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', deleted_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', number INT NOT NULL, name VARCHAR(40) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, deleted_at DATETIME DEFAULT NULL, is_active TINYINT(1) DEFAULT 1 NOT NULL, INDEX IDX_3C1F33B8B03A8386 (created_by_id), INDEX IDX_3C1F33B8896DBBDE (updated_by_id), INDEX IDX_3C1F33B8C76F1F52 (deleted_by_id), INDEX number (number), INDEX name (name), INDEX is_active (is_active), INDEX deleted_at (deleted_at), INDEX created_at (created_at), INDEX updated_at (updated_at), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  38.         $this->addSql('CREATE TABLE products_bundle__product_type_translations (id INT AUTO_INCREMENT NOT NULL, object_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', locale VARCHAR(8) NOT NULL, field VARCHAR(32) NOT NULL, content LONGTEXT DEFAULT NULL, INDEX IDX_4D8A1534232D562B (object_id), FULLTEXT INDEX content (content), UNIQUE INDEX lookup_unique_idx (locale, object_id, field), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  39.         $this->addSql('CREATE TABLE products_bundle__search_association (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', product_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', declination_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', search_word_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', INDEX IDX_A4AC80614584665A (product_id), INDEX IDX_A4AC80619941A932 (declination_id), INDEX IDX_A4AC80616E86AC17 (search_word_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  40.         $this->addSql('CREATE TABLE products_bundle__search_word (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', word VARCHAR(32) NOT NULL, INDEX word (word), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  41.         $this->addSql('ALTER TABLE products_bundle__attribute ADD CONSTRAINT FK_929927FF62D643B7 FOREIGN KEY (attribute_group_id) REFERENCES products_bundle__attribute_group (id)');
  42.         $this->addSql('ALTER TABLE products_bundle__attribute ADD CONSTRAINT FK_929927FFB03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  43.         $this->addSql('ALTER TABLE products_bundle__attribute ADD CONSTRAINT FK_929927FF896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  44.         $this->addSql('ALTER TABLE products_bundle__attribute ADD CONSTRAINT FK_929927FFC76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  45.         $this->addSql('ALTER TABLE products_bundle__attribute_context ADD CONSTRAINT FK_2BEB560CB6E62EFA FOREIGN KEY (attribute_id) REFERENCES products_bundle__attribute (id)');
  46.         $this->addSql('ALTER TABLE products_bundle__attribute_context ADD CONSTRAINT FK_2BEB560C6B00C1CF FOREIGN KEY (context_id) REFERENCES context (id)');
  47.         $this->addSql('ALTER TABLE products_bundle__attribute_group ADD CONSTRAINT FK_4E023231B03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  48.         $this->addSql('ALTER TABLE products_bundle__attribute_group ADD CONSTRAINT FK_4E023231896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  49.         $this->addSql('ALTER TABLE products_bundle__attribute_group ADD CONSTRAINT FK_4E023231C76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  50.         $this->addSql('ALTER TABLE products_bundle__attribute_group_context ADD CONSTRAINT FK_4A85C4B862D643B7 FOREIGN KEY (attribute_group_id) REFERENCES products_bundle__attribute_group (id)');
  51.         $this->addSql('ALTER TABLE products_bundle__attribute_group_context ADD CONSTRAINT FK_4A85C4B86B00C1CF FOREIGN KEY (context_id) REFERENCES context (id)');
  52.         $this->addSql('ALTER TABLE products_bundle__attribute_group_translations ADD CONSTRAINT FK_660EAACD232D562B FOREIGN KEY (object_id) REFERENCES products_bundle__attribute_group (id) ON DELETE CASCADE');
  53.         $this->addSql('ALTER TABLE products_bundle__attribute_translations ADD CONSTRAINT FK_AAAF91FA232D562B FOREIGN KEY (object_id) REFERENCES products_bundle__attribute (id) ON DELETE CASCADE');
  54.         $this->addSql('ALTER TABLE products_bundle__brand ADD CONSTRAINT FK_E6FC9E69B03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  55.         $this->addSql('ALTER TABLE products_bundle__brand ADD CONSTRAINT FK_E6FC9E69896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  56.         $this->addSql('ALTER TABLE products_bundle__brand ADD CONSTRAINT FK_E6FC9E69C76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  57.         $this->addSql('ALTER TABLE products_bundle__brand_context ADD CONSTRAINT FK_238239EF44F5D008 FOREIGN KEY (brand_id) REFERENCES products_bundle__brand (id)');
  58.         $this->addSql('ALTER TABLE products_bundle__brand_context ADD CONSTRAINT FK_238239EF6B00C1CF FOREIGN KEY (context_id) REFERENCES context (id)');
  59.         $this->addSql('ALTER TABLE products_bundle__declination ADD CONSTRAINT FK_CC8BB1204584665A FOREIGN KEY (product_id) REFERENCES products_bundle__product (id)');
  60.         $this->addSql('ALTER TABLE products_bundle__declination ADD CONSTRAINT FK_CC8BB12021C2B4E8 FOREIGN KEY (virtual_parent_id) REFERENCES products_bundle__declination (id)');
  61.         $this->addSql('ALTER TABLE products_bundle__declination ADD CONSTRAINT FK_CC8BB1205E0BEBC0 FOREIGN KEY (unit_measure_id) REFERENCES unit_measure (id)');
  62.         $this->addSql('ALTER TABLE products_bundle__declination ADD CONSTRAINT FK_CC8BB120B03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  63.         $this->addSql('ALTER TABLE products_bundle__declination ADD CONSTRAINT FK_CC8BB120896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  64.         $this->addSql('ALTER TABLE products_bundle__declination ADD CONSTRAINT FK_CC8BB120C76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  65.         $this->addSql('ALTER TABLE products_bundle__declination_attribute ADD CONSTRAINT FK_A248F59B9941A932 FOREIGN KEY (declination_id) REFERENCES products_bundle__declination (id)');
  66.         $this->addSql('ALTER TABLE products_bundle__declination_attribute ADD CONSTRAINT FK_A248F59BB6E62EFA FOREIGN KEY (attribute_id) REFERENCES products_bundle__attribute (id)');
  67.         $this->addSql('ALTER TABLE products_bundle__declination_attribute ADD CONSTRAINT FK_A248F59BB03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  68.         $this->addSql('ALTER TABLE products_bundle__declination_attribute ADD CONSTRAINT FK_A248F59B896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  69.         $this->addSql('ALTER TABLE products_bundle__declination_attribute ADD CONSTRAINT FK_A248F59BC76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  70.         $this->addSql('ALTER TABLE products_bundle__declination_context ADD CONSTRAINT FK_B1F3A3809941A932 FOREIGN KEY (declination_id) REFERENCES products_bundle__declination (id)');
  71.         $this->addSql('ALTER TABLE products_bundle__declination_context ADD CONSTRAINT FK_B1F3A3806B00C1CF FOREIGN KEY (context_id) REFERENCES context (id)');
  72.         $this->addSql('ALTER TABLE products_bundle__ean13 ADD CONSTRAINT FK_D50078F94584665A FOREIGN KEY (product_id) REFERENCES products_bundle__product (id)');
  73.         $this->addSql('ALTER TABLE products_bundle__ean13 ADD CONSTRAINT FK_D50078F99941A932 FOREIGN KEY (declination_id) REFERENCES products_bundle__declination (id)');
  74.         $this->addSql('ALTER TABLE products_bundle__ean13 ADD CONSTRAINT FK_D50078F9B03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  75.         $this->addSql('ALTER TABLE products_bundle__ean13 ADD CONSTRAINT FK_D50078F9896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  76.         $this->addSql('ALTER TABLE products_bundle__ean13 ADD CONSTRAINT FK_D50078F9C76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  77.         $this->addSql('ALTER TABLE products_bundle__eco_part ADD CONSTRAINT FK_52A691535F7690E5 FOREIGN KEY (eco_part_group_id) REFERENCES products_bundle__eco_part_group (id)');
  78.         $this->addSql('ALTER TABLE products_bundle__eco_part ADD CONSTRAINT FK_52A6915338248176 FOREIGN KEY (currency_id) REFERENCES currency (id)');
  79.         $this->addSql('ALTER TABLE products_bundle__eco_part ADD CONSTRAINT FK_52A69153B03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  80.         $this->addSql('ALTER TABLE products_bundle__eco_part ADD CONSTRAINT FK_52A69153896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  81.         $this->addSql('ALTER TABLE products_bundle__eco_part ADD CONSTRAINT FK_52A69153C76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  82.         $this->addSql('ALTER TABLE products_bundle__eco_part_group ADD CONSTRAINT FK_86BC60A7B03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  83.         $this->addSql('ALTER TABLE products_bundle__eco_part_group ADD CONSTRAINT FK_86BC60A7896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  84.         $this->addSql('ALTER TABLE products_bundle__eco_part_group ADD CONSTRAINT FK_86BC60A7C76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  85.         $this->addSql('ALTER TABLE products_bundle__eco_part_group_translations ADD CONSTRAINT FK_6453299E232D562B FOREIGN KEY (object_id) REFERENCES products_bundle__eco_part_group (id) ON DELETE CASCADE');
  86.         $this->addSql('ALTER TABLE products_bundle__eco_part_translations ADD CONSTRAINT FK_7BFF0B9C232D562B FOREIGN KEY (object_id) REFERENCES products_bundle__eco_part (id) ON DELETE CASCADE');
  87.         $this->addSql('ALTER TABLE products_bundle__product ADD CONSTRAINT FK_C6C10D4A14959723 FOREIGN KEY (product_type_id) REFERENCES products_bundle__product_type (id)');
  88.         $this->addSql('ALTER TABLE products_bundle__product ADD CONSTRAINT FK_C6C10D4A5E0BEBC0 FOREIGN KEY (unit_measure_id) REFERENCES unit_measure (id)');
  89.         $this->addSql('ALTER TABLE products_bundle__product ADD CONSTRAINT FK_C6C10D4AAE870F68 FOREIGN KEY (eco_part_id) REFERENCES products_bundle__eco_part (id)');
  90.         $this->addSql('ALTER TABLE products_bundle__product ADD CONSTRAINT FK_C6C10D4A3506A35B FOREIGN KEY (tax_rule_id) REFERENCES tax_rule (id)');
  91.         $this->addSql('ALTER TABLE products_bundle__product ADD CONSTRAINT FK_C6C10D4A44F5D008 FOREIGN KEY (brand_id) REFERENCES products_bundle__brand (id)');
  92.         $this->addSql('ALTER TABLE products_bundle__product ADD CONSTRAINT FK_C6C10D4A38248176 FOREIGN KEY (currency_id) REFERENCES currency (id)');
  93.         $this->addSql('ALTER TABLE products_bundle__product ADD CONSTRAINT FK_C6C10D4A727ACA70 FOREIGN KEY (parent_id) REFERENCES products_bundle__product (id)');
  94.         $this->addSql('ALTER TABLE products_bundle__product ADD CONSTRAINT FK_C6C10D4AB03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  95.         $this->addSql('ALTER TABLE products_bundle__product ADD CONSTRAINT FK_C6C10D4A896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  96.         $this->addSql('ALTER TABLE products_bundle__product ADD CONSTRAINT FK_C6C10D4AC76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  97.         $this->addSql('ALTER TABLE products_bundle__product_context ADD CONSTRAINT FK_F37E0B8C4584665A FOREIGN KEY (product_id) REFERENCES products_bundle__product (id)');
  98.         $this->addSql('ALTER TABLE products_bundle__product_context ADD CONSTRAINT FK_F37E0B8C6B00C1CF FOREIGN KEY (context_id) REFERENCES context (id)');
  99.         $this->addSql('ALTER TABLE products_bundle__product_translations ADD CONSTRAINT FK_9017C31B232D562B FOREIGN KEY (object_id) REFERENCES products_bundle__product (id) ON DELETE CASCADE');
  100.         $this->addSql('ALTER TABLE products_bundle__product_type ADD CONSTRAINT FK_3C1F33B8B03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  101.         $this->addSql('ALTER TABLE products_bundle__product_type ADD CONSTRAINT FK_3C1F33B8896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  102.         $this->addSql('ALTER TABLE products_bundle__product_type ADD CONSTRAINT FK_3C1F33B8C76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  103.         $this->addSql('ALTER TABLE products_bundle__product_type_translations ADD CONSTRAINT FK_4D8A1534232D562B FOREIGN KEY (object_id) REFERENCES products_bundle__product_type (id) ON DELETE CASCADE');
  104.         $this->addSql('ALTER TABLE products_bundle__search_association ADD CONSTRAINT FK_A4AC80614584665A FOREIGN KEY (product_id) REFERENCES products_bundle__product (id)');
  105.         $this->addSql('ALTER TABLE products_bundle__search_association ADD CONSTRAINT FK_A4AC80619941A932 FOREIGN KEY (declination_id) REFERENCES products_bundle__declination (id)');
  106.         $this->addSql('ALTER TABLE products_bundle__search_association ADD CONSTRAINT FK_A4AC80616E86AC17 FOREIGN KEY (search_word_id) REFERENCES products_bundle__search_word (id)');
  107.     }
  108.     public function postUp(Schema $schema): void
  109.     {
  110.         parent::postUp($schema);
  111.         $languages $this->connection->executeQuery('SELECT * FROM language WHERE deleted_at IS NULL')
  112.             ->fetchAllAssociative();
  113.         $rootLocale 'en';
  114.         $defaultLocale $this->connection
  115.             ->executeQuery('SELECT locale FROM language WHERE deleted_at IS NULL AND is_default = 1')
  116.             ->fetchOne() ?: 'en';
  117.         $productTypes = [
  118.             ['fr' => 'Produit''en' => 'Product''key' => 1],
  119.             ['fr' => 'Service''en' => 'Service''key' => 2]
  120.         ];
  121.         $this->connection->insert('configuration', [
  122.             'id' => (new UuidV6())->toBinary(),
  123.             'name' => 'products_bundle__shared_products',
  124.             'context_id' => null,
  125.             'value' => $this->objectSerialize->add((object) ['value' => '0']),
  126.             'created_at' => (new DateTime())->format('Y-m-d H:i:s'),
  127.             'updated_at' => (new DateTime())->format('Y-m-d H:i:s')
  128.         ]);
  129.         foreach ($productTypes as $productType) {
  130.             $productTypeId = (new UuidV6())->toBinary();
  131.             $this->connection->insert('products_bundle__product_type', [
  132.                 'id' => $productTypeId,
  133.                 'name' => !empty($productType[$defaultLocale]) ?
  134.                     $productType[$defaultLocale] : $productType[$rootLocale],
  135.                 'number' => $productType['key'],
  136.                 'is_active' => 1,
  137.                 'created_at' => (new DateTime())->format('Y-m-d H:i:s'),
  138.                 'updated_at' => (new DateTime())->format('Y-m-d H:i:s')
  139.             ]);
  140.             foreach ($languages as $language) {
  141.                 $localeTo $rootLocale;
  142.                 if (!empty($productType[$language['locale']])) {
  143.                     $localeTo $language['locale'];
  144.                 } elseif (!empty($productType[$defaultLocale])) {
  145.                     $localeTo $defaultLocale;
  146.                 }
  147.                 $this->connection->insert('products_bundle__product_type_translations', [
  148.                     'object_id' => $productTypeId,
  149.                     'locale' => $language['locale'],
  150.                     'field' => 'name',
  151.                     'content' => $productType[$localeTo]
  152.                 ]);
  153.             }
  154.         }
  155.     }
  156.     public function down(Schema $schema): void
  157.     {
  158.     }
  159. }