<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20240110214510 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE seller_sale DROP FOREIGN KEY FK_E7B205E59A116A7');
$this->addSql('ALTER TABLE seller_sale DROP FOREIGN KEY FK_E7B205E5DCC6AC3F');
$this->addSql('ALTER TABLE order_header DROP FOREIGN KEY FK_ADFDB81453358C7E');
$this->addSql('ALTER TABLE seller_sale DROP FOREIGN KEY FK_E7B205E553358C7E');
$this->addSql('CREATE TABLE sale_shipment (id INT AUTO_INCREMENT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME DEFAULT NULL, status SMALLINT NOT NULL, shipmentType SMALLINT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE sale_shipment_pickup (id INT NOT NULL, dispatcher_user_id INT DEFAULT NULL, delivery_user_id INT DEFAULT NULL, dispatch_observation VARCHAR(400) DEFAULT NULL, delivery_observation VARCHAR(400) DEFAULT NULL, INDEX IDX_D9679242E802A6A1 (dispatcher_user_id), INDEX IDX_D9679242AD706C4B (delivery_user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE sale_shipment_store (id INT NOT NULL, dispatcher_user_id INT DEFAULT NULL, delivery_user_id INT DEFAULT NULL, address VARCHAR(400) NOT NULL, dispatch_observation VARCHAR(400) DEFAULT NULL, delivery_observation VARCHAR(400) DEFAULT NULL, sector_id INT DEFAULT NULL, INDEX IDX_D4DC5B35DE95C867 (sector_id), INDEX IDX_D4DC5B35E802A6A1 (dispatcher_user_id), INDEX IDX_D4DC5B35AD706C4B (delivery_user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE sale_shipment_pickup ADD CONSTRAINT FK_D9679242E802A6A1 FOREIGN KEY (dispatcher_user_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE sale_shipment_pickup ADD CONSTRAINT FK_D9679242AD706C4B FOREIGN KEY (delivery_user_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE sale_shipment_pickup ADD CONSTRAINT FK_D9679242BF396750 FOREIGN KEY (id) REFERENCES sale_shipment (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE sale_shipment_store ADD CONSTRAINT FK_D4DC5B35E802A6A1 FOREIGN KEY (dispatcher_user_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE sale_shipment_store ADD CONSTRAINT FK_D4DC5B35AD706C4B FOREIGN KEY (delivery_user_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE sale_shipment_store ADD CONSTRAINT FK_D4DC5B35BF396750 FOREIGN KEY (id) REFERENCES sale_shipment (id) ON DELETE CASCADE');
$this->addSql('DROP TABLE order_delivery');
$this->addSql('DROP TABLE order_dispatch');
$this->addSql('DROP TABLE order_shipping');
$this->addSql('DROP INDEX UNIQ_ADFDB81453358C7E ON order_header');
$this->addSql('ALTER TABLE order_header DROP order_shipping_id');
$this->addSql('DROP INDEX UNIQ_E7B205E59A116A7 ON seller_sale');
$this->addSql('DROP INDEX IDX_E7B205E553358C7E ON seller_sale');
$this->addSql('DROP INDEX UNIQ_E7B205E5DCC6AC3F ON seller_sale');
$this->addSql('ALTER TABLE seller_sale DROP order_dispatch_id, DROP order_delivery_id, CHANGE order_shipping_id sale_shipment_id INT NOT NULL');
$this->addSql('ALTER TABLE seller_sale ADD CONSTRAINT FK_E7B205E5AACE791 FOREIGN KEY (sale_shipment_id) REFERENCES sale_shipment (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_E7B205E5AACE791 ON seller_sale (sale_shipment_id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE sale_shipment_pickup DROP FOREIGN KEY FK_D9679242BF396750');
$this->addSql('ALTER TABLE sale_shipment_store DROP FOREIGN KEY FK_D4DC5B35BF396750');
$this->addSql('ALTER TABLE seller_sale DROP FOREIGN KEY FK_E7B205E5AACE791');
$this->addSql('CREATE TABLE order_delivery (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME DEFAULT NULL, observation VARCHAR(600) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, INDEX IDX_D6790EA1A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE order_dispatch (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, user_delivery_id INT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME DEFAULT NULL, observation VARCHAR(600) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, INDEX IDX_67EA84EBBB08A0B4 (user_delivery_id), INDEX IDX_67EA84EBA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE order_shipping (id INT AUTO_INCREMENT NOT NULL, sector_id INT DEFAULT NULL, shipping_method_id INT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME DEFAULT NULL, address VARCHAR(400) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, shipping_type SMALLINT NOT NULL, INDEX IDX_CCE4F5955F7D6850 (shipping_method_id), INDEX IDX_CCE4F595DE95C867 (sector_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('ALTER TABLE order_delivery ADD CONSTRAINT FK_D6790EA1A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE order_dispatch ADD CONSTRAINT FK_67EA84EBBB08A0B4 FOREIGN KEY (user_delivery_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE order_dispatch ADD CONSTRAINT FK_67EA84EBA76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE order_shipping ADD CONSTRAINT FK_CCE4F595DE95C867 FOREIGN KEY (sector_id) REFERENCES sector (id)');
$this->addSql('ALTER TABLE order_shipping ADD CONSTRAINT FK_CCE4F5955F7D6850 FOREIGN KEY (shipping_method_id) REFERENCES shipping_method (id)');
$this->addSql('DROP TABLE sale_shipment');
$this->addSql('DROP TABLE sale_shipment_pickup');
$this->addSql('DROP TABLE sale_shipment_store');
$this->addSql('ALTER TABLE order_header ADD order_shipping_id INT NOT NULL');
$this->addSql('ALTER TABLE order_header ADD CONSTRAINT FK_ADFDB81453358C7E FOREIGN KEY (order_shipping_id) REFERENCES order_shipping (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_ADFDB81453358C7E ON order_header (order_shipping_id)');
$this->addSql('DROP INDEX UNIQ_E7B205E5AACE791 ON seller_sale');
$this->addSql('ALTER TABLE seller_sale ADD order_dispatch_id INT DEFAULT NULL, ADD order_delivery_id INT DEFAULT NULL, CHANGE sale_shipment_id order_shipping_id INT NOT NULL');
$this->addSql('ALTER TABLE seller_sale ADD CONSTRAINT FK_E7B205E59A116A7 FOREIGN KEY (order_delivery_id) REFERENCES order_delivery (id)');
$this->addSql('ALTER TABLE seller_sale ADD CONSTRAINT FK_E7B205E553358C7E FOREIGN KEY (order_shipping_id) REFERENCES order_shipping (id)');
$this->addSql('ALTER TABLE seller_sale ADD CONSTRAINT FK_E7B205E5DCC6AC3F FOREIGN KEY (order_dispatch_id) REFERENCES order_dispatch (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_E7B205E59A116A7 ON seller_sale (order_delivery_id)');
$this->addSql('CREATE INDEX IDX_E7B205E553358C7E ON seller_sale (order_shipping_id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_E7B205E5DCC6AC3F ON seller_sale (order_dispatch_id)');
}
}