vendor/bluue/inventories-bundle/migrations/Version20221208150955.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace InventoriesBundleMigrations;
  4. use App\Services\ObjectSerialize;
  5. use Doctrine\DBAL\Schema\Schema;
  6. use Doctrine\Migrations\AbstractMigration;
  7. use Symfony\Component\Uid\UuidV6;
  8. final class Version20221208150955 extends AbstractMigration
  9. {
  10.     private ObjectSerialize $objectSerialize;
  11.     public function setObjectSerialize(ObjectSerialize $objectSerialize)
  12.     {
  13.         $this->objectSerialize $objectSerialize;
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         $this->addSql('CREATE TABLE inventories_bundle__inventory (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', warehouse_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', location_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', sub_location_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', brand_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)\', validated_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', category_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', supplier_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', reference VARCHAR(128) DEFAULT NULL, name VARCHAR(128) NOT NULL, x VARCHAR(128) DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, deleted_at DATETIME DEFAULT NULL, validated_at DATETIME DEFAULT NULL, INDEX IDX_F5586DDC5080ECDE (warehouse_id), INDEX IDX_F5586DDC64D218E (location_id), INDEX IDX_F5586DDCE3B45410 (sub_location_id), INDEX IDX_F5586DDC44F5D008 (brand_id), INDEX IDX_F5586DDCB03A8386 (created_by_id), INDEX IDX_F5586DDC896DBBDE (updated_by_id), INDEX IDX_F5586DDCC76F1F52 (deleted_by_id), INDEX IDX_F5586DDCC69DE5E5 (validated_by_id), INDEX IDX_F5586DDC12469DE2 (category_id), INDEX IDX_F5586DDC2ADD6D8C (supplier_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  18.         $this->addSql('CREATE TABLE inventories_bundle__inventory_original_product (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', inventory_id BINARY(16) DEFAULT 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)\', created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, deleted_at DATETIME DEFAULT NULL, INDEX IDX_52C557F9EEA759 (inventory_id), INDEX IDX_52C557F4584665A (product_id), INDEX IDX_52C557F9941A932 (declination_id), INDEX IDX_52C557FB03A8386 (created_by_id), INDEX IDX_52C557F896DBBDE (updated_by_id), INDEX IDX_52C557FC76F1F52 (deleted_by_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE inventories_bundle__inventory_product (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', inventory_id BINARY(16) DEFAULT 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)\', created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, deleted_at DATETIME DEFAULT NULL, INDEX IDX_7CD8FE119EEA759 (inventory_id), INDEX IDX_7CD8FE114584665A (product_id), INDEX IDX_7CD8FE119941A932 (declination_id), INDEX IDX_7CD8FE11B03A8386 (created_by_id), INDEX IDX_7CD8FE11896DBBDE (updated_by_id), INDEX IDX_7CD8FE11C76F1F52 (deleted_by_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE inventories_bundle__inventory_product_quantity (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', inventory_product_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', stock_location_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', location_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', sub_location_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', date_type_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 DATETIME DEFAULT NULL, batch_number VARCHAR(255) DEFAULT NULL, quantity INT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, deleted_at DATETIME DEFAULT NULL, INDEX IDX_4A5838466A33D9 (inventory_product_id), INDEX IDX_4A58384D98387BA (stock_location_id), INDEX IDX_4A5838464D218E (location_id), INDEX IDX_4A58384E3B45410 (sub_location_id), INDEX IDX_4A58384FCAB8B6E (date_type_id), INDEX IDX_4A58384B03A8386 (created_by_id), INDEX IDX_4A58384896DBBDE (updated_by_id), INDEX IDX_4A58384C76F1F52 (deleted_by_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  21.         $this->addSql('ALTER TABLE inventories_bundle__inventory ADD CONSTRAINT FK_F5586DDC5080ECDE FOREIGN KEY (warehouse_id) REFERENCES stocks_bundle__warehouse (id)');
  22.         $this->addSql('ALTER TABLE inventories_bundle__inventory ADD CONSTRAINT FK_F5586DDC64D218E FOREIGN KEY (location_id) REFERENCES stocks_bundle__location (id)');
  23.         $this->addSql('ALTER TABLE inventories_bundle__inventory ADD CONSTRAINT FK_F5586DDCE3B45410 FOREIGN KEY (sub_location_id) REFERENCES stocks_bundle__sub_location (id)');
  24.         $this->addSql('ALTER TABLE inventories_bundle__inventory ADD CONSTRAINT FK_F5586DDC44F5D008 FOREIGN KEY (brand_id) REFERENCES products_bundle__brand (id)');
  25.         $this->addSql('ALTER TABLE inventories_bundle__inventory ADD CONSTRAINT FK_F5586DDCB03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  26.         $this->addSql('ALTER TABLE inventories_bundle__inventory ADD CONSTRAINT FK_F5586DDC896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  27.         $this->addSql('ALTER TABLE inventories_bundle__inventory ADD CONSTRAINT FK_F5586DDCC76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  28.         $this->addSql('ALTER TABLE inventories_bundle__inventory ADD CONSTRAINT FK_F5586DDCC69DE5E5 FOREIGN KEY (validated_by_id) REFERENCES user (id)');
  29.         $this->addSql('ALTER TABLE inventories_bundle__inventory_original_product ADD CONSTRAINT FK_52C557F9EEA759 FOREIGN KEY (inventory_id) REFERENCES inventories_bundle__inventory (id)');
  30.         $this->addSql('ALTER TABLE inventories_bundle__inventory_original_product ADD CONSTRAINT FK_52C557F4584665A FOREIGN KEY (product_id) REFERENCES products_bundle__product (id)');
  31.         $this->addSql('ALTER TABLE inventories_bundle__inventory_original_product ADD CONSTRAINT FK_52C557F9941A932 FOREIGN KEY (declination_id) REFERENCES products_bundle__declination (id)');
  32.         $this->addSql('ALTER TABLE inventories_bundle__inventory_original_product ADD CONSTRAINT FK_52C557FB03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  33.         $this->addSql('ALTER TABLE inventories_bundle__inventory_original_product ADD CONSTRAINT FK_52C557F896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  34.         $this->addSql('ALTER TABLE inventories_bundle__inventory_original_product ADD CONSTRAINT FK_52C557FC76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  35.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product ADD CONSTRAINT FK_7CD8FE119EEA759 FOREIGN KEY (inventory_id) REFERENCES inventories_bundle__inventory (id)');
  36.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product ADD CONSTRAINT FK_7CD8FE114584665A FOREIGN KEY (product_id) REFERENCES products_bundle__product (id)');
  37.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product ADD CONSTRAINT FK_7CD8FE119941A932 FOREIGN KEY (declination_id) REFERENCES products_bundle__declination (id)');
  38.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product ADD CONSTRAINT FK_7CD8FE11B03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  39.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product ADD CONSTRAINT FK_7CD8FE11896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  40.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product ADD CONSTRAINT FK_7CD8FE11C76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  41.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product_quantity ADD CONSTRAINT FK_4A5838466A33D9 FOREIGN KEY (inventory_product_id) REFERENCES inventories_bundle__inventory_product (id)');
  42.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product_quantity ADD CONSTRAINT FK_4A58384D98387BA FOREIGN KEY (stock_location_id) REFERENCES stocks_bundle__stock_location (id)');
  43.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product_quantity ADD CONSTRAINT FK_4A5838464D218E FOREIGN KEY (location_id) REFERENCES stocks_bundle__location (id)');
  44.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product_quantity ADD CONSTRAINT FK_4A58384E3B45410 FOREIGN KEY (sub_location_id) REFERENCES stocks_bundle__sub_location (id)');
  45.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product_quantity ADD CONSTRAINT FK_4A58384FCAB8B6E FOREIGN KEY (date_type_id) REFERENCES stocks_bundle__date_type (id)');
  46.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product_quantity ADD CONSTRAINT FK_4A58384B03A8386 FOREIGN KEY (created_by_id) REFERENCES user (id)');
  47.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product_quantity ADD CONSTRAINT FK_4A58384896DBBDE FOREIGN KEY (updated_by_id) REFERENCES user (id)');
  48.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product_quantity ADD CONSTRAINT FK_4A58384C76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES user (id)');
  49.     }
  50.     public function down(Schema $schema): void
  51.     {
  52.         $this->addSql('ALTER TABLE inventories_bundle__inventory DROP FOREIGN KEY FK_F5586DDC5080ECDE');
  53.         $this->addSql('ALTER TABLE inventories_bundle__inventory DROP FOREIGN KEY FK_F5586DDC64D218E');
  54.         $this->addSql('ALTER TABLE inventories_bundle__inventory DROP FOREIGN KEY FK_F5586DDCE3B45410');
  55.         $this->addSql('ALTER TABLE inventories_bundle__inventory DROP FOREIGN KEY FK_F5586DDC44F5D008');
  56.         $this->addSql('ALTER TABLE inventories_bundle__inventory DROP FOREIGN KEY FK_F5586DDCB03A8386');
  57.         $this->addSql('ALTER TABLE inventories_bundle__inventory DROP FOREIGN KEY FK_F5586DDC896DBBDE');
  58.         $this->addSql('ALTER TABLE inventories_bundle__inventory DROP FOREIGN KEY FK_F5586DDCC76F1F52');
  59.         $this->addSql('ALTER TABLE inventories_bundle__inventory DROP FOREIGN KEY FK_F5586DDCC69DE5E5');
  60.         $this->addSql('ALTER TABLE inventories_bundle__inventory DROP FOREIGN KEY FK_F5586DDC12469DE2');
  61.         $this->addSql('ALTER TABLE inventories_bundle__inventory DROP FOREIGN KEY FK_F5586DDC2ADD6D8C');
  62.         $this->addSql('ALTER TABLE inventories_bundle__inventory_original_product DROP FOREIGN KEY FK_52C557F9EEA759');
  63.         $this->addSql('ALTER TABLE inventories_bundle__inventory_original_product DROP FOREIGN KEY FK_52C557F4584665A');
  64.         $this->addSql('ALTER TABLE inventories_bundle__inventory_original_product DROP FOREIGN KEY FK_52C557F9941A932');
  65.         $this->addSql('ALTER TABLE inventories_bundle__inventory_original_product DROP FOREIGN KEY FK_52C557FB03A8386');
  66.         $this->addSql('ALTER TABLE inventories_bundle__inventory_original_product DROP FOREIGN KEY FK_52C557F896DBBDE');
  67.         $this->addSql('ALTER TABLE inventories_bundle__inventory_original_product DROP FOREIGN KEY FK_52C557FC76F1F52');
  68.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product DROP FOREIGN KEY FK_7CD8FE119EEA759');
  69.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product DROP FOREIGN KEY FK_7CD8FE114584665A');
  70.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product DROP FOREIGN KEY FK_7CD8FE119941A932');
  71.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product DROP FOREIGN KEY FK_7CD8FE11B03A8386');
  72.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product DROP FOREIGN KEY FK_7CD8FE11896DBBDE');
  73.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product DROP FOREIGN KEY FK_7CD8FE11C76F1F52');
  74.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product_quantity DROP FOREIGN KEY FK_4A5838466A33D9');
  75.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product_quantity DROP FOREIGN KEY FK_4A58384D98387BA');
  76.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product_quantity DROP FOREIGN KEY FK_4A5838464D218E');
  77.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product_quantity DROP FOREIGN KEY FK_4A58384E3B45410');
  78.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product_quantity DROP FOREIGN KEY FK_4A58384FCAB8B6E');
  79.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product_quantity DROP FOREIGN KEY FK_4A58384B03A8386');
  80.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product_quantity DROP FOREIGN KEY FK_4A58384896DBBDE');
  81.         $this->addSql('ALTER TABLE inventories_bundle__inventory_product_quantity DROP FOREIGN KEY FK_4A58384C76F1F52');
  82.         $this->addSql('DROP TABLE inventories_bundle__inventory');
  83.         $this->addSql('DROP TABLE inventories_bundle__inventory_original_product');
  84.         $this->addSql('DROP TABLE inventories_bundle__inventory_product');
  85.         $this->addSql('DROP TABLE inventories_bundle__inventory_product_quantity');
  86.     }
  87.     public function postUp(Schema $schema): void
  88.     {
  89.         parent::postUp($schema);
  90.         $now = (new \DateTime())->format('Y-m-d H:i:s');
  91.         $this->connection->insert('configuration', [
  92.             'id' => (new UuidV6())->toBinary(),
  93.             'name' => 'inventories_bundle__inventory_format',
  94.             'context_id' => null,
  95.             'value' => $this->objectSerialize->add((object) ['value' => 'INV/[[number]]']),
  96.             'created_at' => $now,
  97.             'updated_at' => $now
  98.         ]);
  99.     }
  100. }