<?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 Version20220623090545 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->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('CREATE TABLE analysis_setting (id INT AUTO_INCREMENT NOT NULL, vehicle_make_applicable_to_id VARCHAR(36) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, vehicle_model_applicable_to_id VARCHAR(36) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, vehicle_power_train_applicable_to_id VARCHAR(36) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, setting_name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, notes LONGTEXT CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, settings JSON NOT NULL, is_global TINYINT(1) NOT NULL, INDEX IDX_E5A5DE9E198BCE2 (vehicle_model_applicable_to_id), INDEX IDX_E5A5DE9E9DD67CB1 (vehicle_power_train_applicable_to_id), INDEX IDX_E5A5DE9EFE5E27F2 (vehicle_make_applicable_to_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('CREATE TABLE data_read (id INT AUTO_INCREMENT NOT NULL, device_id INT DEFAULT NULL, raw_data JSON NOT NULL, created_date DATETIME NOT NULL, INDEX IDX_23188A8594A4C7D4 (device_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('CREATE TABLE data_read_analysis (id INT AUTO_INCREMENT NOT NULL, data_read_id INT DEFAULT NULL, result_report JSON NOT NULL, created_date DATETIME NOT NULL, analysis_settings JSON NOT NULL, has_result TINYINT(1) NOT NULL, INDEX IDX_15C3FB7353BFF4EF (data_read_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('CREATE TABLE data_read_identity (id INT AUTO_INCREMENT NOT NULL, data_read_id INT DEFAULT NULL, vin VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, found TINYINT(1) NOT NULL, year VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, make VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, model VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, power_train VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, created_date DATETIME NOT NULL, INDEX IDX_7F65D58753BFF4EF (data_read_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('CREATE TABLE device (id INT AUTO_INCREMENT NOT NULL, device_identifier VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('CREATE TABLE protocol_info (id VARCHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('CREATE TABLE protocol_vehicle_make (id VARCHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, name VARCHAR(200) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, logo VARCHAR(200) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, created_date DATETIME NOT NULL COMMENT \'Timestamp when the row was created\', updated_date DATETIME NOT NULL COMMENT \'Timestamp when the row was last updated\', enabled TINYINT(1) NOT NULL COMMENT \'Enable/Disable flag\', deleted TINYINT(1) NOT NULL COMMENT \'Deleted/Exists flag\', hash VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci` COMMENT \'Unique hash number\', INDEX active_idx (enabled, deleted), INDEX name_idx (name), UNIQUE INDEX UNIQ_AE18798B5E237E06 (name), UNIQUE INDEX UNIQ_AE18798BD1B862B8 (hash), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('CREATE TABLE protocol_vehicle_model (id VARCHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, name VARCHAR(200) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, created_date DATETIME NOT NULL COMMENT \'Timestamp when the row was created\', updated_date DATETIME NOT NULL COMMENT \'Timestamp when the row was last updated\', enabled TINYINT(1) NOT NULL COMMENT \'Enable/Disable flag\', deleted TINYINT(1) NOT NULL COMMENT \'Deleted/Exists flag\', hash VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci` COMMENT \'Unique hash number\', INDEX active_idx (enabled, deleted), INDEX name_idx (name), UNIQUE INDEX UNIQ_741B021D1B862B8 (hash), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('CREATE TABLE protocol_vehicle_power_train (id VARCHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, name VARCHAR(200) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, created_date DATETIME NOT NULL COMMENT \'Timestamp when the row was created\', updated_date DATETIME NOT NULL COMMENT \'Timestamp when the row was last updated\', enabled TINYINT(1) NOT NULL COMMENT \'Enable/Disable flag\', deleted TINYINT(1) NOT NULL COMMENT \'Deleted/Exists flag\', hash VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci` COMMENT \'Unique hash number\', INDEX active_idx (enabled, deleted), INDEX name_idx (name), UNIQUE INDEX UNIQ_EB40EF8ED1B862B8 (hash), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('CREATE TABLE protocol_vehicle_type (id VARCHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, name VARCHAR(200) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, created_date DATETIME NOT NULL COMMENT \'Timestamp when the row was created\', updated_date DATETIME NOT NULL COMMENT \'Timestamp when the row was last updated\', enabled TINYINT(1) NOT NULL COMMENT \'Enable/Disable flag\', deleted TINYINT(1) NOT NULL COMMENT \'Deleted/Exists flag\', hash VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci` COMMENT \'Unique hash number\', INDEX name_idx (name), UNIQUE INDEX UNIQ_380A58CC5E237E06 (name), UNIQUE INDEX UNIQ_380A58CCD1B862B8 (hash), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('CREATE TABLE user (id INT AUTO_INCREMENT NOT NULL, email VARCHAR(180) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, roles JSON NOT NULL, password VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, UNIQUE INDEX UNIQ_8D93D649E7927C74 (email), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('ALTER TABLE analysis_setting ADD CONSTRAINT FK_E5A5DE9EFE5E27F2 FOREIGN KEY (vehicle_make_applicable_to_id) REFERENCES protocol_vehicle_make (id)');
$this->addSql('ALTER TABLE analysis_setting ADD CONSTRAINT FK_E5A5DE9E198BCE2 FOREIGN KEY (vehicle_model_applicable_to_id) REFERENCES protocol_vehicle_model (id)');
$this->addSql('ALTER TABLE analysis_setting ADD CONSTRAINT FK_E5A5DE9E9DD67CB1 FOREIGN KEY (vehicle_power_train_applicable_to_id) REFERENCES protocol_vehicle_power_train (id)');
$this->addSql('ALTER TABLE data_read ADD CONSTRAINT FK_23188A8594A4C7D4 FOREIGN KEY (device_id) REFERENCES device (id)');
$this->addSql('ALTER TABLE data_read_analysis ADD CONSTRAINT FK_15C3FB7353BFF4EF FOREIGN KEY (data_read_id) REFERENCES data_read (id)');
$this->addSql('ALTER TABLE data_read_identity ADD CONSTRAINT FK_7F65D58753BFF4EF FOREIGN KEY (data_read_id) REFERENCES data_read (id)');
$this->addSql('ALTER TABLE protocol_info ADD horse_power VARCHAR(10) NOT NULL, ADD newton_meters VARCHAR(10) DEFAULT NULL, ADD kilo_watts VARCHAR(10) DEFAULT NULL, ADD engine_measurement_centimeters_cubed VARCHAR(10) DEFAULT NULL, ADD power_output_rating VARCHAR(200) DEFAULT NULL, ADD fuel_type VARCHAR(10) NOT NULL, ADD euro_standard VARCHAR(10) DEFAULT NULL, ADD ecu_manufacturer VARCHAR(100) NOT NULL, ADD ecu_protocol VARCHAR(50) NOT NULL, ADD ecu_type VARCHAR(50) NOT NULL, ADD ecu_micro VARCHAR(50) DEFAULT NULL, ADD created_date DATETIME NOT NULL COMMENT \'Timestamp when the row was created\', ADD updated_date DATETIME NOT NULL COMMENT \'Timestamp when the row was last updated\', ADD enabled TINYINT(1) NOT NULL COMMENT \'Enable/Disable flag\', ADD deleted TINYINT(1) NOT NULL COMMENT \'Deleted/Exists flag\', ADD hash VARCHAR(255) NOT NULL COMMENT \'Unique hash number\', ADD vehicleType_id VARCHAR(36) DEFAULT NULL, ADD vehicleMake_id VARCHAR(36) DEFAULT NULL, ADD vehicleModel_id VARCHAR(36) DEFAULT NULL, ADD vehiclePowerTrain_id VARCHAR(36) DEFAULT NULL');
$this->addSql('ALTER TABLE protocol_info ADD CONSTRAINT FK_CE87CE205A1C535F FOREIGN KEY (vehicleType_id) REFERENCES protocol_vehicle_type (id)');
$this->addSql('ALTER TABLE protocol_info ADD CONSTRAINT FK_CE87CE2050EFAC27 FOREIGN KEY (vehicleMake_id) REFERENCES protocol_vehicle_make (id)');
$this->addSql('ALTER TABLE protocol_info ADD CONSTRAINT FK_CE87CE20EB3869A3 FOREIGN KEY (vehicleModel_id) REFERENCES protocol_vehicle_model (id)');
$this->addSql('ALTER TABLE protocol_info ADD CONSTRAINT FK_CE87CE203EE105AF FOREIGN KEY (vehiclePowerTrain_id) REFERENCES protocol_vehicle_power_train (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_CE87CE20D1B862B8 ON protocol_info (hash)');
$this->addSql('CREATE INDEX IDX_CE87CE205A1C535F ON protocol_info (vehicleType_id)');
$this->addSql('CREATE INDEX IDX_CE87CE2050EFAC27 ON protocol_info (vehicleMake_id)');
$this->addSql('CREATE INDEX IDX_CE87CE20EB3869A3 ON protocol_info (vehicleModel_id)');
$this->addSql('CREATE INDEX IDX_CE87CE203EE105AF ON protocol_info (vehiclePowerTrain_id)');
$this->addSql('CREATE INDEX ecuManufacturer_idx ON protocol_info (ecu_manufacturer)');
$this->addSql('CREATE INDEX ecuManufacturer_proto_idx ON protocol_info (ecu_manufacturer, ecu_protocol)');
$this->addSql('CREATE INDEX active_proto_idx ON protocol_info (enabled, deleted)');
}
public function down(Schema $schema): void
{
$this->addSql('ALTER TABLE analysis_setting DROP FOREIGN KEY FK_E5A5DE9EFE5E27F2');
$this->addSql('ALTER TABLE analysis_setting DROP FOREIGN KEY FK_E5A5DE9E198BCE2');
$this->addSql('ALTER TABLE analysis_setting DROP FOREIGN KEY FK_E5A5DE9E9DD67CB1');
$this->addSql('ALTER TABLE data_read DROP FOREIGN KEY FK_23188A8594A4C7D4');
$this->addSql('ALTER TABLE data_read_analysis DROP FOREIGN KEY FK_15C3FB7353BFF4EF');
$this->addSql('ALTER TABLE data_read_identity DROP FOREIGN KEY FK_7F65D58753BFF4EF');
$this->addSql('ALTER TABLE protocol_info DROP FOREIGN KEY FK_CE87CE205A1C535F');
$this->addSql('ALTER TABLE protocol_info DROP FOREIGN KEY FK_CE87CE2050EFAC27');
$this->addSql('ALTER TABLE protocol_info DROP FOREIGN KEY FK_CE87CE20EB3869A3');
$this->addSql('ALTER TABLE protocol_info DROP FOREIGN KEY FK_CE87CE203EE105AF');
$this->addSql('DROP INDEX UNIQ_CE87CE20D1B862B8 ON protocol_info');
$this->addSql('DROP INDEX IDX_CE87CE205A1C535F ON protocol_info');
$this->addSql('DROP INDEX IDX_CE87CE2050EFAC27 ON protocol_info');
$this->addSql('DROP INDEX IDX_CE87CE20EB3869A3 ON protocol_info');
$this->addSql('DROP INDEX IDX_CE87CE203EE105AF ON protocol_info');
$this->addSql('DROP INDEX ecuManufacturer_idx ON protocol_info');
$this->addSql('DROP INDEX ecuManufacturer_proto_idx ON protocol_info');
$this->addSql('DROP INDEX active_proto_idx ON protocol_info');
$this->addSql('ALTER TABLE protocol_info DROP horse_power, DROP newton_meters, DROP kilo_watts, DROP engine_measurement_centimeters_cubed, DROP power_output_rating, DROP fuel_type, DROP euro_standard, DROP ecu_manufacturer, DROP ecu_protocol, DROP ecu_type, DROP ecu_micro, DROP created_date, DROP updated_date, DROP enabled, DROP deleted, DROP hash, DROP vehicleType_id, DROP vehicleMake_id, DROP vehicleModel_id, DROP vehiclePowerTrain_id');
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('DROP TABLE analysis_setting');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('DROP TABLE data_read');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('DROP TABLE data_read_analysis');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('DROP TABLE data_read_identity');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('DROP TABLE device');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('DROP TABLE protocol_info');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('DROP TABLE protocol_vehicle_make');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('DROP TABLE protocol_vehicle_model');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('DROP TABLE protocol_vehicle_power_train');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('DROP TABLE protocol_vehicle_type');
$this->abortIf(
!$this->connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySQL80Platform,
"Migration can only be executed safely on '\Doctrine\DBAL\Platforms\MySQL80Platform'."
);
$this->addSql('DROP TABLE user');
}
}