<?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 Version20230321233139 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('CREATE TABLE collaborator (id INT NOT NULL, code VARCHAR(255) NOT NULL, identifiant VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE customer_delivery_compliment (cus_id INT NOT NULL, com_id INT NOT NULL, INDEX IDX_1F7192BDEE1AA0B8 (cus_id), INDEX IDX_1F7192BD748C0F37 (com_id), PRIMARY KEY(cus_id, com_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE deliveryman_delivery_compliment (del_id INT NOT NULL, com_id INT NOT NULL, INDEX IDX_405DEBB9B85404B (del_id), INDEX IDX_405DEBB748C0F37 (com_id), PRIMARY KEY(del_id, com_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE customer_delivery_remarque (cus_id INT NOT NULL, com_id INT NOT NULL, INDEX IDX_CC0406DAEE1AA0B8 (cus_id), INDEX IDX_CC0406DA748C0F37 (com_id), PRIMARY KEY(cus_id, com_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE deliveryman_delivery_remarque (del_id INT NOT NULL, com_id INT NOT NULL, INDEX IDX_4FDACF189B85404B (del_id), INDEX IDX_4FDACF18748C0F37 (com_id), PRIMARY KEY(del_id, com_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE delivery_compliment (id INT AUTO_INCREMENT NOT NULL, delivery_id INT DEFAULT NULL, compliment_id INT DEFAULT NULL, INDEX IDX_2311641112136921 (delivery_id), INDEX IDX_231164111776C5E5 (compliment_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE suspension (id INT AUTO_INCREMENT NOT NULL, delivery_man_id INT NOT NULL, duration VARCHAR(255) NOT NULL, comments LONGTEXT DEFAULT NULL, date_start DATETIME NOT NULL, date_end DATETIME DEFAULT NULL, INDEX IDX_82AF0500FD128646 (delivery_man_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE suspension_reason (suspension_id INT NOT NULL, reason_id INT NOT NULL, INDEX IDX_276188CB5D5F8F8E (suspension_id), INDEX IDX_276188CB59BB1592 (reason_id), PRIMARY KEY(suspension_id, reason_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE collaborator ADD CONSTRAINT FK_606D487CBF396750 FOREIGN KEY (id) REFERENCES `user` (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE customer_delivery_compliment ADD CONSTRAINT FK_1F7192BDEE1AA0B8 FOREIGN KEY (cus_id) REFERENCES delivery (id)');
$this->addSql('ALTER TABLE customer_delivery_compliment ADD CONSTRAINT FK_1F7192BD748C0F37 FOREIGN KEY (com_id) REFERENCES compliment (id)');
$this->addSql('ALTER TABLE deliveryman_delivery_compliment ADD CONSTRAINT FK_405DEBB9B85404B FOREIGN KEY (del_id) REFERENCES delivery (id)');
$this->addSql('ALTER TABLE deliveryman_delivery_compliment ADD CONSTRAINT FK_405DEBB748C0F37 FOREIGN KEY (com_id) REFERENCES compliment (id)');
$this->addSql('ALTER TABLE customer_delivery_remarque ADD CONSTRAINT FK_CC0406DAEE1AA0B8 FOREIGN KEY (cus_id) REFERENCES delivery (id)');
$this->addSql('ALTER TABLE customer_delivery_remarque ADD CONSTRAINT FK_CC0406DA748C0F37 FOREIGN KEY (com_id) REFERENCES compliment (id)');
$this->addSql('ALTER TABLE deliveryman_delivery_remarque ADD CONSTRAINT FK_4FDACF189B85404B FOREIGN KEY (del_id) REFERENCES delivery (id)');
$this->addSql('ALTER TABLE deliveryman_delivery_remarque ADD CONSTRAINT FK_4FDACF18748C0F37 FOREIGN KEY (com_id) REFERENCES compliment (id)');
$this->addSql('ALTER TABLE delivery_compliment ADD CONSTRAINT FK_2311641112136921 FOREIGN KEY (delivery_id) REFERENCES delivery (id)');
$this->addSql('ALTER TABLE delivery_compliment ADD CONSTRAINT FK_231164111776C5E5 FOREIGN KEY (compliment_id) REFERENCES compliment (id)');
$this->addSql('ALTER TABLE suspension ADD CONSTRAINT FK_82AF0500FD128646 FOREIGN KEY (delivery_man_id) REFERENCES delivery_man (id)');
$this->addSql('ALTER TABLE suspension_reason ADD CONSTRAINT FK_276188CB5D5F8F8E FOREIGN KEY (suspension_id) REFERENCES suspension (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE suspension_reason ADD CONSTRAINT FK_276188CB59BB1592 FOREIGN KEY (reason_id) REFERENCES reason (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE delivery DROP FOREIGN KEY FK_3781EC10E20974CC');
$this->addSql('ALTER TABLE delivery DROP FOREIGN KEY FK_3781EC107313B5E6');
$this->addSql('DROP INDEX IDX_3781EC107313B5E6 ON delivery');
$this->addSql('DROP INDEX IDX_3781EC10E20974CC ON delivery');
$this->addSql('ALTER TABLE delivery DROP customer_compliment_id, DROP delivery_man_compliment_id');
$this->addSql('ALTER TABLE document ADD document_status_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE document ADD CONSTRAINT FK_D8698A7679CF281C FOREIGN KEY (document_status_id) REFERENCES deliverer_document_status (id)');
$this->addSql('CREATE INDEX IDX_D8698A7679CF281C ON document (document_status_id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE collaborator DROP FOREIGN KEY FK_606D487CBF396750');
$this->addSql('ALTER TABLE customer_delivery_compliment DROP FOREIGN KEY FK_1F7192BDEE1AA0B8');
$this->addSql('ALTER TABLE customer_delivery_compliment DROP FOREIGN KEY FK_1F7192BD748C0F37');
$this->addSql('ALTER TABLE deliveryman_delivery_compliment DROP FOREIGN KEY FK_405DEBB9B85404B');
$this->addSql('ALTER TABLE deliveryman_delivery_compliment DROP FOREIGN KEY FK_405DEBB748C0F37');
$this->addSql('ALTER TABLE customer_delivery_remarque DROP FOREIGN KEY FK_CC0406DAEE1AA0B8');
$this->addSql('ALTER TABLE customer_delivery_remarque DROP FOREIGN KEY FK_CC0406DA748C0F37');
$this->addSql('ALTER TABLE deliveryman_delivery_remarque DROP FOREIGN KEY FK_4FDACF189B85404B');
$this->addSql('ALTER TABLE deliveryman_delivery_remarque DROP FOREIGN KEY FK_4FDACF18748C0F37');
$this->addSql('ALTER TABLE delivery_compliment DROP FOREIGN KEY FK_2311641112136921');
$this->addSql('ALTER TABLE delivery_compliment DROP FOREIGN KEY FK_231164111776C5E5');
$this->addSql('ALTER TABLE suspension DROP FOREIGN KEY FK_82AF0500FD128646');
$this->addSql('ALTER TABLE suspension_reason DROP FOREIGN KEY FK_276188CB5D5F8F8E');
$this->addSql('ALTER TABLE suspension_reason DROP FOREIGN KEY FK_276188CB59BB1592');
$this->addSql('DROP TABLE collaborator');
$this->addSql('DROP TABLE customer_delivery_compliment');
$this->addSql('DROP TABLE deliveryman_delivery_compliment');
$this->addSql('DROP TABLE customer_delivery_remarque');
$this->addSql('DROP TABLE deliveryman_delivery_remarque');
$this->addSql('DROP TABLE delivery_compliment');
$this->addSql('DROP TABLE suspension');
$this->addSql('DROP TABLE suspension_reason');
$this->addSql('ALTER TABLE delivery ADD customer_compliment_id INT DEFAULT NULL, ADD delivery_man_compliment_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE delivery ADD CONSTRAINT FK_3781EC10E20974CC FOREIGN KEY (delivery_man_compliment_id) REFERENCES compliment (id) ON UPDATE NO ACTION ON DELETE NO ACTION');
$this->addSql('ALTER TABLE delivery ADD CONSTRAINT FK_3781EC107313B5E6 FOREIGN KEY (customer_compliment_id) REFERENCES compliment (id) ON UPDATE NO ACTION ON DELETE NO ACTION');
$this->addSql('CREATE INDEX IDX_3781EC107313B5E6 ON delivery (customer_compliment_id)');
$this->addSql('CREATE INDEX IDX_3781EC10E20974CC ON delivery (delivery_man_compliment_id)');
$this->addSql('ALTER TABLE document DROP FOREIGN KEY FK_D8698A7679CF281C');
$this->addSql('DROP INDEX IDX_D8698A7679CF281C ON document');
$this->addSql('ALTER TABLE document DROP document_status_id');
}
}