<?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 Version20220630145034 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('SET FOREIGN_KEY_CHECKS = 0');
$this->addSql('CREATE TABLE vinlookup (id INT AUTO_INCREMENT NOT NULL, vin VARCHAR(255) NOT NULL, created_date DATETIME NOT NULL, provider VARCHAR(255) NOT NULL, response_body LONGTEXT NOT NULL, response_headers LONGTEXT NOT NULL, response_code INT NOT NULL, make LONGTEXT NOT NULL, model LONGTEXT NOT NULL, power_train LONGTEXT NOT NULL, year LONGTEXT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('DROP TABLE data_read_identity');
$this->addSql('DROP TABLE protocol_info');
$this->addSql('DROP TABLE protocol_vehicle_make');
$this->addSql('DROP TABLE protocol_vehicle_model');
$this->addSql('DROP TABLE protocol_vehicle_power_train');
$this->addSql('DROP TABLE protocol_vehicle_type');
$this->addSql('ALTER TABLE `analysis_setting` DROP FOREIGN KEY `FK_E5A5DE9EFE5E27F2`, DROP FOREIGN KEY `FK_E5A5DE9E9DD67CB1`, DROP FOREIGN KEY `FK_E5A5DE9E198BCE2`');
$this->addSql('DROP INDEX IDX_E5A5DE9E198BCE2 ON analysis_setting');
$this->addSql('DROP INDEX IDX_E5A5DE9E9DD67CB1 ON analysis_setting');
$this->addSql('DROP INDEX IDX_E5A5DE9EFE5E27F2 ON analysis_setting');
$this->addSql('ALTER TABLE analysis_setting ADD vehicle_make_applicable_to VARCHAR(255) DEFAULT NULL, ADD vehicle_model_applicable_to VARCHAR(255) DEFAULT NULL, ADD vehicle_power_train_applicable_to VARCHAR(255) DEFAULT NULL, DROP vehicle_make_applicable_to_id, DROP vehicle_model_applicable_to_id, DROP vehicle_power_train_applicable_to_id');
$this->addSql('ALTER TABLE data_read ADD vin_lookup_id INT DEFAULT NULL, ADD job_id VARCHAR(255) NOT NULL, ADD vin VARCHAR(255) DEFAULT NULL, ADD status LONGTEXT NOT NULL, ADD status_updated_time DATETIME DEFAULT NULL, ADD year VARCHAR(255) DEFAULT NULL, ADD make VARCHAR(255) DEFAULT NULL, ADD model VARCHAR(255) DEFAULT NULL, ADD power_train VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE data_read ADD CONSTRAINT FK_23188A85857F038A FOREIGN KEY (vin_lookup_id) REFERENCES vinlookup (id)');
$this->addSql('CREATE INDEX IDX_23188A85857F038A ON data_read (vin_lookup_id)');
$this->addSql('CREATE INDEX job_id_index ON data_read (job_id)');
$this->addSql('ALTER TABLE device ADD first_job_id VARCHAR(255) NOT NULL, ADD created_date DATETIME DEFAULT NULL, ADD notes VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE data_read CHANGE year year INT DEFAULT NULL');
$this->addSql('ALTER TABLE vinlookup CHANGE year year INT NOT NULL');
$this->addSql('ALTER TABLE vinlookup CHANGE make make VARCHAR(255) DEFAULT NULL, CHANGE model model VARCHAR(255) DEFAULT NULL, CHANGE power_train power_train VARCHAR(255) DEFAULT NULL, CHANGE year year INT DEFAULT NULL');
$this->addSql('SET FOREIGN_KEY_CHECKS = 1');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE data_read DROP FOREIGN KEY FK_23188A85857F038A');
$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->addSql('CREATE TABLE protocol_info (id VARCHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, horse_power VARCHAR(10) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, newton_meters VARCHAR(10) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, kilo_watts VARCHAR(10) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, engine_measurement_centimeters_cubed VARCHAR(10) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, power_output_rating VARCHAR(200) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, fuel_type VARCHAR(10) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, euro_standard VARCHAR(10) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, ecu_manufacturer VARCHAR(100) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, ecu_protocol VARCHAR(50) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, ecu_type VARCHAR(50) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, ecu_micro VARCHAR(50) 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\', vehicleType_id VARCHAR(36) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, vehicleMake_id VARCHAR(36) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, vehicleModel_id VARCHAR(36) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, vehiclePowerTrain_id VARCHAR(36) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, INDEX active_proto_idx (enabled, deleted), INDEX ecuManufacturer_idx (ecu_manufacturer), INDEX ecuManufacturer_proto_idx (ecu_manufacturer, ecu_protocol), INDEX IDX_CE87CE203EE105AF (vehiclePowerTrain_id), INDEX IDX_CE87CE2050EFAC27 (vehicleMake_id), INDEX IDX_CE87CE205A1C535F (vehicleType_id), INDEX IDX_CE87CE20EB3869A3 (vehicleModel_id), UNIQUE INDEX UNIQ_CE87CE20D1B862B8 (hash), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$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->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->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->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->addSql('ALTER TABLE data_read_identity ADD CONSTRAINT FK_7F65D58753BFF4EF FOREIGN KEY (data_read_id) REFERENCES data_read (id) ON UPDATE NO ACTION ON DELETE NO ACTION');
$this->addSql('ALTER TABLE protocol_info ADD CONSTRAINT FK_CE87CE203EE105AF FOREIGN KEY (vehiclePowerTrain_id) REFERENCES protocol_vehicle_power_train (id) ON UPDATE NO ACTION ON DELETE NO ACTION');
$this->addSql('ALTER TABLE protocol_info ADD CONSTRAINT FK_CE87CE2050EFAC27 FOREIGN KEY (vehicleMake_id) REFERENCES protocol_vehicle_make (id) ON UPDATE NO ACTION ON DELETE NO ACTION');
$this->addSql('ALTER TABLE protocol_info ADD CONSTRAINT FK_CE87CE205A1C535F FOREIGN KEY (vehicleType_id) REFERENCES protocol_vehicle_type (id) ON UPDATE NO ACTION ON DELETE NO ACTION');
$this->addSql('ALTER TABLE protocol_info ADD CONSTRAINT FK_CE87CE20EB3869A3 FOREIGN KEY (vehicleModel_id) REFERENCES protocol_vehicle_model (id) ON UPDATE NO ACTION ON DELETE NO ACTION');
$this->addSql('DROP TABLE vinlookup');
$this->addSql('ALTER TABLE analysis_setting ADD vehicle_make_applicable_to_id VARCHAR(36) DEFAULT NULL, ADD vehicle_model_applicable_to_id VARCHAR(36) DEFAULT NULL, ADD vehicle_power_train_applicable_to_id VARCHAR(36) DEFAULT NULL, DROP vehicle_make_applicable_to, DROP vehicle_model_applicable_to, DROP vehicle_power_train_applicable_to');
$this->addSql('ALTER TABLE analysis_setting ADD CONSTRAINT FK_E5A5DE9E198BCE2 FOREIGN KEY (vehicle_model_applicable_to_id) REFERENCES protocol_vehicle_model (id) ON UPDATE NO ACTION ON DELETE NO ACTION');
$this->addSql('ALTER TABLE analysis_setting ADD CONSTRAINT FK_E5A5DE9E9DD67CB1 FOREIGN KEY (vehicle_power_train_applicable_to_id) REFERENCES protocol_vehicle_power_train (id) ON UPDATE NO ACTION ON DELETE NO ACTION');
$this->addSql('ALTER TABLE analysis_setting ADD CONSTRAINT FK_E5A5DE9EFE5E27F2 FOREIGN KEY (vehicle_make_applicable_to_id) REFERENCES protocol_vehicle_make (id) ON UPDATE NO ACTION ON DELETE NO ACTION');
$this->addSql('CREATE INDEX IDX_E5A5DE9E198BCE2 ON analysis_setting (vehicle_model_applicable_to_id)');
$this->addSql('CREATE INDEX IDX_E5A5DE9E9DD67CB1 ON analysis_setting (vehicle_power_train_applicable_to_id)');
$this->addSql('CREATE INDEX IDX_E5A5DE9EFE5E27F2 ON analysis_setting (vehicle_make_applicable_to_id)');
$this->addSql('DROP INDEX IDX_23188A85857F038A ON data_read');
$this->addSql('DROP INDEX job_id_index ON data_read');
$this->addSql('ALTER TABLE data_read DROP vin_lookup_id, DROP job_id, DROP vin, DROP status, DROP status_updated_time, DROP year, DROP make, DROP model, DROP power_train');
$this->addSql('ALTER TABLE device DROP first_job_id, DROP created_date, DROP notes');
$this->addSql('ALTER TABLE vinlookup CHANGE make make LONGTEXT NOT NULL, CHANGE model model LONGTEXT NOT NULL, CHANGE power_train power_train LONGTEXT NOT NULL, CHANGE year year INT NOT NULL');
}
}