vendor/bluue/shop-modules-bundle/migrations/Version20230221140000.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace ShopModulesBundleMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. use Symfony\Component\Uid\UuidV6;
  7. /**
  8.  * Auto-generated Migration: Please modify to your needs!
  9.  */
  10. final class Version20230221140000 extends AbstractMigration
  11. {
  12.     public function up(Schema $schema): void
  13.     {
  14.         $this->addSql('CREATE TABLE shop_modules_bundle__module (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', platform_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', file_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)\', product_id VARCHAR(10) NOT NULL, name VARCHAR(255) NOT NULL, min_version VARCHAR(10) NOT NULL, max_version VARCHAR(10) NOT NULL, drive_link VARCHAR(255) DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, deleted_at DATETIME DEFAULT NULL, INDEX IDX_F16FCD0AFFE6496F (platform_id), INDEX IDX_F16FCD0A93CB796C (file_id), INDEX IDX_F16FCD0AB03A8386 (created_by_id), INDEX IDX_F16FCD0A896DBBDE (updated_by_id), INDEX IDX_F16FCD0AC76F1F52 (deleted_by_id), INDEX name (name), INDEX min_version (min_version), INDEX max_version (max_version), 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');
  15.         $this->addSql('CREATE TABLE shop_modules_bundle__module_version (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', module_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', file_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)\', date_version DATE NOT NULL, version VARCHAR(10) NOT NULL, min_version VARCHAR(10) NOT NULL, max_version VARCHAR(10) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, deleted_at DATETIME DEFAULT NULL, INDEX IDX_7BA8145FAFC2B591 (module_id), INDEX IDX_7BA8145F93CB796C (file_id), INDEX IDX_7BA8145FB03A8386 (created_by_id), INDEX IDX_7BA8145F896DBBDE (updated_by_id), INDEX IDX_7BA8145FC76F1F52 (deleted_by_id), INDEX version (version), INDEX min_version (min_version), INDEX max_version (max_version), 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');
  16.         $this->addSql('CREATE TABLE shop_modules_bundle__platform (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_A9385050B03A8386 (created_by_id), INDEX IDX_A9385050896DBBDE (updated_by_id), INDEX IDX_A9385050C76F1F52 (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');
  17.         $this->addSql('ALTER TABLE shop_modules_bundle__module ADD CONSTRAINT FK_F16FCD0AFFE6496F FOREIGN KEY (platform_id) REFERENCES shop_modules_bundle__platform (id)');
  18.         $this->addSql('ALTER TABLE shop_modules_bundle__module ADD CONSTRAINT FK_F16FCD0A93CB796C FOREIGN KEY (file_id) REFERENCES file_manager (id)');
  19.         $this->addSql('ALTER TABLE shop_modules_bundle__module ADD CONSTRAINT FK_F16FCD0AB03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  20.         $this->addSql('ALTER TABLE shop_modules_bundle__module ADD CONSTRAINT FK_F16FCD0A896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  21.         $this->addSql('ALTER TABLE shop_modules_bundle__module ADD CONSTRAINT FK_F16FCD0AC76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  22.         $this->addSql('ALTER TABLE shop_modules_bundle__module_version ADD CONSTRAINT FK_7BA8145FAFC2B591 FOREIGN KEY (module_id) REFERENCES shop_modules_bundle__module (id)');
  23.         $this->addSql('ALTER TABLE shop_modules_bundle__module_version ADD CONSTRAINT FK_7BA8145F93CB796C FOREIGN KEY (file_id) REFERENCES file_manager (id)');
  24.         $this->addSql('ALTER TABLE shop_modules_bundle__module_version ADD CONSTRAINT FK_7BA8145FB03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  25.         $this->addSql('ALTER TABLE shop_modules_bundle__module_version ADD CONSTRAINT FK_7BA8145F896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  26.         $this->addSql('ALTER TABLE shop_modules_bundle__module_version ADD CONSTRAINT FK_7BA8145FC76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  27.         $this->addSql('ALTER TABLE shop_modules_bundle__platform ADD CONSTRAINT FK_A9385050B03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  28.         $this->addSql('ALTER TABLE shop_modules_bundle__platform ADD CONSTRAINT FK_A9385050896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  29.         $this->addSql('ALTER TABLE shop_modules_bundle__platform ADD CONSTRAINT FK_A9385050C76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  30.     }
  31.     public function down(Schema $schema): void
  32.     {
  33.         $this->addSql('ALTER TABLE shop_modules_bundle__module DROP FOREIGN KEY FK_F16FCD0AFFE6496F');
  34.         $this->addSql('ALTER TABLE shop_modules_bundle__module DROP FOREIGN KEY FK_F16FCD0A93CB796C');
  35.         $this->addSql('ALTER TABLE shop_modules_bundle__module DROP FOREIGN KEY FK_F16FCD0AB03A8386');
  36.         $this->addSql('ALTER TABLE shop_modules_bundle__module DROP FOREIGN KEY FK_F16FCD0A896DBBDE');
  37.         $this->addSql('ALTER TABLE shop_modules_bundle__module DROP FOREIGN KEY FK_F16FCD0AC76F1F52');
  38.         $this->addSql('ALTER TABLE shop_modules_bundle__module_version DROP FOREIGN KEY FK_7BA8145FAFC2B591');
  39.         $this->addSql('ALTER TABLE shop_modules_bundle__module_version DROP FOREIGN KEY FK_7BA8145F93CB796C');
  40.         $this->addSql('ALTER TABLE shop_modules_bundle__module_version DROP FOREIGN KEY FK_7BA8145FB03A8386');
  41.         $this->addSql('ALTER TABLE shop_modules_bundle__module_version DROP FOREIGN KEY FK_7BA8145F896DBBDE');
  42.         $this->addSql('ALTER TABLE shop_modules_bundle__module_version DROP FOREIGN KEY FK_7BA8145FC76F1F52');
  43.         $this->addSql('ALTER TABLE shop_modules_bundle__platform DROP FOREIGN KEY FK_A9385050B03A8386');
  44.         $this->addSql('ALTER TABLE shop_modules_bundle__platform DROP FOREIGN KEY FK_A9385050896DBBDE');
  45.         $this->addSql('ALTER TABLE shop_modules_bundle__platform DROP FOREIGN KEY FK_A9385050C76F1F52');
  46.         $this->addSql('DROP TABLE shop_modules_bundle__module');
  47.         $this->addSql('DROP TABLE shop_modules_bundle__module_version');
  48.         $this->addSql('DROP TABLE shop_modules_bundle__platform');
  49.     }
  50.     public function postUp(Schema $schema): void
  51.     {
  52.         parent::postUp($schema);
  53.         $now = (new \DateTime())->format('Y-m-d H:i:s');
  54.         $platforms = ['Prestashop''Wordpress''Magento'];
  55.         foreach ($platforms as $platform) {
  56.             $platformId = (new UuidV6())->toBinary();
  57.             $this->connection->insert('shop_modules_bundle__platform', [
  58.                 'id' => $platformId,
  59.                 'name' => $platform,
  60.                 'created_at' => $now,
  61.                 'updated_at' => $now
  62.             ]);
  63.         }
  64.     }
  65. }