<?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 Version20220111110218 extends AbstractMigration
{
public function getDescription(): string
{
return 'Rental';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE TABLE rental (id INT AUTO_INCREMENT NOT NULL, vehicle_id INT DEFAULT NULL, contract_start_date DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', contract_end_date DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', duration_subscribed INT DEFAULT NULL, duration_subscribed_unit VARCHAR(50) DEFAULT NULL, contract_km INT DEFAULT NULL, rent_ht DOUBLE PRECISION DEFAULT NULL, maintenance_cost DOUBLE PRECISION DEFAULT NULL, pneumatic_cost DOUBLE PRECISION DEFAULT NULL, assistance_cost DOUBLE PRECISION DEFAULT NULL, insurance_cost DOUBLE PRECISION DEFAULT NULL, management_fees DOUBLE PRECISION DEFAULT NULL, current_km INT DEFAULT NULL, last_km_reading_date DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', reached_km_estimated_date DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', tvs_amount DOUBLE PRECISION DEFAULT NULL, co2_penalty_amount DOUBLE PRECISION DEFAULT NULL, tco VARCHAR(100) DEFAULT NULL, fuel_consumption DOUBLE PRECISION DEFAULT NULL, fuel_amount DOUBLE PRECISION DEFAULT NULL, toll_amount DOUBLE PRECISION DEFAULT NULL, parking_amount DOUBLE PRECISION DEFAULT NULL, lubricant_amount DOUBLE PRECISION DEFAULT NULL, washing_amount DOUBLE PRECISION DEFAULT NULL, pin_code INT DEFAULT NULL, card_number VARCHAR(100) DEFAULT NULL, INDEX IDX_1619C27D545317D1 (vehicle_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE vehicle (id INT AUTO_INCREMENT NOT NULL, brand_id INT DEFAULT NULL, model_id INT DEFAULT NULL, vehicle_type_id INT DEFAULT NULL, energy_id INT DEFAULT NULL, registration VARCHAR(50) NOT NULL, version VARCHAR(50) DEFAULT NULL, catalog_price DOUBLE PRECISION DEFAULT NULL, chassis VARCHAR(100) DEFAULT NULL, co2_emission_rate DOUBLE PRECISION DEFAULT NULL, theoretical_consumption100_km DOUBLE PRECISION DEFAULT NULL, circulation_date DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_1B80E48644F5D008 (brand_id), INDEX IDX_1B80E4867975B7E7 (model_id), INDEX IDX_1B80E486DA3FD1FC (vehicle_type_id), INDEX IDX_1B80E486EDDF52D (energy_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE rental ADD CONSTRAINT FK_1619C27D545317D1 FOREIGN KEY (vehicle_id) REFERENCES vehicle (id)');
$this->addSql('ALTER TABLE vehicle ADD CONSTRAINT FK_1B80E48644F5D008 FOREIGN KEY (brand_id) REFERENCES brand (id)');
$this->addSql('ALTER TABLE vehicle ADD CONSTRAINT FK_1B80E4867975B7E7 FOREIGN KEY (model_id) REFERENCES model (id)');
$this->addSql('ALTER TABLE vehicle ADD CONSTRAINT FK_1B80E486DA3FD1FC FOREIGN KEY (vehicle_type_id) REFERENCES vehicle_type (id)');
$this->addSql('ALTER TABLE vehicle ADD CONSTRAINT FK_1B80E486EDDF52D FOREIGN KEY (energy_id) REFERENCES energy (id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE rental DROP FOREIGN KEY FK_1619C27D545317D1');
$this->addSql('DROP TABLE rental');
$this->addSql('DROP TABLE vehicle');
}
}