migrations/2024/03/Version20240328082935.php line 1

  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. final class Version20240328082935 extends AbstractMigration
  7. {
  8.     public function up(Schema $schema): void
  9.     {
  10.         $this->addSql('CREATE TABLE app_car (id BINARY(16) NOT NULL COMMENT \'(DC2Type:car_id)\', owned_by_id BINARY(16) NOT NULL COMMENT \'(DC2Type:contact_id)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', updated_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', importer_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', customer_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', status SMALLINT DEFAULT NULL COMMENT \'(DC2Type:car_status)\', transport SMALLINT DEFAULT NULL COMMENT \'(DC2Type:car_transport)\', license_plate VARCHAR(255) NOT NULL, name VARCHAR(255) DEFAULT NULL, vin_number VARCHAR(255) DEFAULT NULL, km_stand INT DEFAULT NULL, first_registration_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', technical_control_id VARCHAR(255) DEFAULT NULL, technical_control_valid_from DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', technical_control_valid_to DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', coc_code VARCHAR(255) DEFAULT NULL, engine_power INT DEFAULT NULL, color VARCHAR(255) DEFAULT NULL, weight INT DEFAULT NULL, extras LONGTEXT DEFAULT NULL, INDEX IDX_594F555A5E70BCD7 (owned_by_id), INDEX IDX_594F555AB03A8386 (created_by_id), INDEX IDX_594F555A896DBBDE (updated_by_id), INDEX IDX_594F555A7FCFE58E (importer_id), INDEX IDX_594F555A9395C3F3 (customer_id), UNIQUE INDEX car_license_plate_unique (owned_by_id, license_plate), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  11.         $this->addSql('CREATE TABLE app_car_attachment (id BINARY(16) NOT NULL COMMENT \'(DC2Type:car_attachment_id)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', car_id BINARY(16) NOT NULL COMMENT \'(DC2Type:car_id)\', created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', filename VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, INDEX IDX_947AC554B03A8386 (created_by_id), INDEX IDX_947AC554C3C6F69F (car_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  12.         $this->addSql('CREATE TABLE app_car_invoice (id BINARY(16) NOT NULL COMMENT \'(DC2Type:car_invoice_id)\', car_id BINARY(16) NOT NULL COMMENT \'(DC2Type:car_id)\', invoice_id BINARY(16) NOT NULL COMMENT \'(DC2Type:invoice_id)\', INDEX IDX_9A2BCA24C3C6F69F (car_id), INDEX IDX_9A2BCA242989F1FD (invoice_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  13.         $this->addSql('ALTER TABLE app_car ADD CONSTRAINT FK_594F555A5E70BCD7 FOREIGN KEY (owned_by_id) REFERENCES contact (id)');
  14.         $this->addSql('ALTER TABLE app_car ADD CONSTRAINT FK_594F555AB03A8386 FOREIGN KEY (created_by_id) REFERENCES contact (id)');
  15.         $this->addSql('ALTER TABLE app_car ADD CONSTRAINT FK_594F555A896DBBDE FOREIGN KEY (updated_by_id) REFERENCES contact (id)');
  16.         $this->addSql('ALTER TABLE app_car ADD CONSTRAINT FK_594F555A7FCFE58E FOREIGN KEY (importer_id) REFERENCES contact (id)');
  17.         $this->addSql('ALTER TABLE app_car ADD CONSTRAINT FK_594F555A9395C3F3 FOREIGN KEY (customer_id) REFERENCES contact (id)');
  18.         $this->addSql('ALTER TABLE app_car_attachment ADD CONSTRAINT FK_947AC554B03A8386 FOREIGN KEY (created_by_id) REFERENCES contact (id)');
  19.         $this->addSql('ALTER TABLE app_car_attachment ADD CONSTRAINT FK_947AC554C3C6F69F FOREIGN KEY (car_id) REFERENCES app_car (id)');
  20.         $this->addSql('ALTER TABLE app_car_invoice ADD CONSTRAINT FK_9A2BCA24C3C6F69F FOREIGN KEY (car_id) REFERENCES app_car (id)');
  21.         $this->addSql('ALTER TABLE app_car_invoice ADD CONSTRAINT FK_9A2BCA242989F1FD FOREIGN KEY (invoice_id) REFERENCES invoice (id)');
  22.     }
  23.     public function down(Schema $schema): void
  24.     {
  25.         $this->addSql('ALTER TABLE app_car DROP FOREIGN KEY FK_594F555A5E70BCD7');
  26.         $this->addSql('ALTER TABLE app_car DROP FOREIGN KEY FK_594F555AB03A8386');
  27.         $this->addSql('ALTER TABLE app_car DROP FOREIGN KEY FK_594F555A896DBBDE');
  28.         $this->addSql('ALTER TABLE app_car DROP FOREIGN KEY FK_594F555A7FCFE58E');
  29.         $this->addSql('ALTER TABLE app_car DROP FOREIGN KEY FK_594F555A9395C3F3');
  30.         $this->addSql('ALTER TABLE app_car_attachment DROP FOREIGN KEY FK_947AC554B03A8386');
  31.         $this->addSql('ALTER TABLE app_car_attachment DROP FOREIGN KEY FK_947AC554C3C6F69F');
  32.         $this->addSql('ALTER TABLE app_car_invoice DROP FOREIGN KEY FK_9A2BCA24C3C6F69F');
  33.         $this->addSql('ALTER TABLE app_car_invoice DROP FOREIGN KEY FK_9A2BCA242989F1FD');
  34.         $this->addSql('DROP TABLE app_car');
  35.         $this->addSql('DROP TABLE app_car_attachment');
  36.         $this->addSql('DROP TABLE app_car_invoice');
  37.     }
  38. }