<?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 Version20230406114210 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 benutzer (id INT AUTO_INCREMENT NOT NULL, rolle_id INT NOT NULL, transportunternehmen_id INT DEFAULT NULL, email VARCHAR(255) NOT NULL, passwort VARCHAR(255) NOT NULL, salt VARCHAR(32) NOT NULL, vorname VARCHAR(64) NOT NULL, nachname VARCHAR(64) NOT NULL, firma VARCHAR(64) DEFAULT NULL, telefon VARCHAR(20) DEFAULT NULL, erstellt DATETIME DEFAULT NULL, letzter_login DATETIME DEFAULT NULL, ist_aktiv TINYINT(1) NOT NULL, UNIQUE INDEX UNIQ_36144FC7E7927C74 (email), INDEX IDX_36144FC740A53BF6 (rolle_id), INDEX IDX_36144FC775B1DAD0 (transportunternehmen_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE einzeltransport (id INT AUTO_INCREMENT NOT NULL, transportunternehmen_id INT NOT NULL, logistikobjekt_id INT NOT NULL, tor_id INT NOT NULL, erstellt DATETIME DEFAULT NULL, letzte_bearbeitung DATETIME DEFAULT NULL, lieferzeitpunkt DATETIME NOT NULL, liefergut VARCHAR(255) NOT NULL, zeitfenster JSON NOT NULL, INDEX IDX_D473DC9975B1DAD0 (transportunternehmen_id), INDEX IDX_D473DC99B4B5EA70 (logistikobjekt_id), INDEX IDX_D473DC9962257ADD (tor_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE logistikobjekt (id INT AUTO_INCREMENT NOT NULL, bezeichnung VARCHAR(128) NOT NULL, beschreibung LONGTEXT DEFAULT NULL, active TINYINT(1) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE rolle (id INT AUTO_INCREMENT NOT NULL, rolle VARCHAR(20) NOT NULL, bezeichnung VARCHAR(128) NOT NULL, beschreibung LONGTEXT DEFAULT NULL, UNIQUE INDEX UNIQ_932820DF932820DF (rolle), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE tor (id INT AUTO_INCREMENT NOT NULL, bezeichnung VARCHAR(255) NOT NULL, active TINYINT(1) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE transportunternehmen (id INT AUTO_INCREMENT NOT NULL, transportunternehmen VARCHAR(64) NOT NULL, strasse VARCHAR(64) DEFAULT NULL, plz INT NOT NULL, ort VARCHAR(64) NOT NULL, land VARCHAR(64) NOT NULL, lokalfirma TINYINT(1) NOT NULL, erstellt DATETIME DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE transportunternehmen_logistikobjekt (transportunternehmen_id INT NOT NULL, logistikobjekt_id INT NOT NULL, INDEX IDX_2232565F75B1DAD0 (transportunternehmen_id), INDEX IDX_2232565FB4B5EA70 (logistikobjekt_id), PRIMARY KEY(transportunternehmen_id, logistikobjekt_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE zeitfenster (id INT AUTO_INCREMENT NOT NULL, weekdays JSON NOT NULL, time_from TIME NOT NULL, time_to TIME NOT NULL, active TINYINT(1) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE benutzer ADD CONSTRAINT FK_36144FC740A53BF6 FOREIGN KEY (rolle_id) REFERENCES rolle (id)');
$this->addSql('ALTER TABLE benutzer ADD CONSTRAINT FK_36144FC775B1DAD0 FOREIGN KEY (transportunternehmen_id) REFERENCES transportunternehmen (id)');
$this->addSql('ALTER TABLE einzeltransport ADD CONSTRAINT FK_D473DC9975B1DAD0 FOREIGN KEY (transportunternehmen_id) REFERENCES transportunternehmen (id)');
$this->addSql('ALTER TABLE einzeltransport ADD CONSTRAINT FK_D473DC99B4B5EA70 FOREIGN KEY (logistikobjekt_id) REFERENCES logistikobjekt (id)');
$this->addSql('ALTER TABLE einzeltransport ADD CONSTRAINT FK_D473DC9962257ADD FOREIGN KEY (tor_id) REFERENCES tor (id)');
$this->addSql('ALTER TABLE transportunternehmen_logistikobjekt ADD CONSTRAINT FK_2232565F75B1DAD0 FOREIGN KEY (transportunternehmen_id) REFERENCES transportunternehmen (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE transportunternehmen_logistikobjekt ADD CONSTRAINT FK_2232565FB4B5EA70 FOREIGN KEY (logistikobjekt_id) REFERENCES logistikobjekt (id) ON DELETE CASCADE');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE benutzer DROP FOREIGN KEY FK_36144FC740A53BF6');
$this->addSql('ALTER TABLE benutzer DROP FOREIGN KEY FK_36144FC775B1DAD0');
$this->addSql('ALTER TABLE einzeltransport DROP FOREIGN KEY FK_D473DC9975B1DAD0');
$this->addSql('ALTER TABLE einzeltransport DROP FOREIGN KEY FK_D473DC99B4B5EA70');
$this->addSql('ALTER TABLE einzeltransport DROP FOREIGN KEY FK_D473DC9962257ADD');
$this->addSql('ALTER TABLE transportunternehmen_logistikobjekt DROP FOREIGN KEY FK_2232565F75B1DAD0');
$this->addSql('ALTER TABLE transportunternehmen_logistikobjekt DROP FOREIGN KEY FK_2232565FB4B5EA70');
$this->addSql('DROP TABLE benutzer');
$this->addSql('DROP TABLE einzeltransport');
$this->addSql('DROP TABLE logistikobjekt');
$this->addSql('DROP TABLE rolle');
$this->addSql('DROP TABLE tor');
$this->addSql('DROP TABLE transportunternehmen');
$this->addSql('DROP TABLE transportunternehmen_logistikobjekt');
$this->addSql('DROP TABLE zeitfenster');
}
}