<?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 Version20211214131736 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 demande_diagnostic (id INT AUTO_INCREMENT NOT NULL, commanditaire_id INT NOT NULL, entreprise_id INT NOT NULL, numero_bt VARCHAR(255) NOT NULL, date_bt DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', created_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_CB082283D2F91B5 (commanditaire_id), INDEX IDX_CB08228A4AEAFEA (entreprise_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE demande_diagnostic_patrimoine (id INT AUTO_INCREMENT NOT NULL, demande_diagnostic_id INT NOT NULL, module_id INT DEFAULT NULL, ensemble_id INT DEFAULT NULL, type_diagnostic VARCHAR(255) NOT NULL, created_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_3A59D0F92CB9B21 (demande_diagnostic_id), INDEX IDX_3A59D0FAFC2B591 (module_id), INDEX IDX_3A59D0FB268ECB1 (ensemble_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE diagnostic (id INT AUTO_INCREMENT NOT NULL, module_id INT DEFAULT NULL, ensemble_id INT DEFAULT NULL, enregistrement_diagnostic_id INT DEFAULT NULL, date_emission DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', date_peremption DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', state VARCHAR(255) NOT NULL, created_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', type_diagnostic VARCHAR(255) NOT NULL, INDEX IDX_FA7C8889AFC2B591 (module_id), INDEX IDX_FA7C8889B268ECB1 (ensemble_id), INDEX IDX_FA7C88898A9932CE (enregistrement_diagnostic_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE diagnostic_crep (id INT NOT NULL, presence_plomb TINYINT(1) NOT NULL, classe1 TINYINT(1) NOT NULL, classe2 TINYINT(1) NOT NULL, classe3 TINYINT(1) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE diagnostic_dapp (id INT NOT NULL, type_visite VARCHAR(250) NOT NULL, locaux_non_visites LONGTEXT NOT NULL COMMENT \'(DC2Type:json)\', materiaux_amiantes LONGTEXT NOT NULL COMMENT \'(DC2Type:json)\', PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE diagnostic_deo (id INT NOT NULL, presence_anomalies TINYINT(1) NOT NULL, type_rapport VARCHAR(250) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE diagnostic_dgo (id INT NOT NULL, presence_anomalies TINYINT(1) NOT NULL, type_rapport VARCHAR(250) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE diagnostic_dpe (id INT NOT NULL, etiquette_energetique VARCHAR(1) NOT NULL, consommation_energie_primaire INT NOT NULL, emission_co2 INT NOT NULL, etiquette_ges VARCHAR(1) NOT NULL, consommation_energie_final INT NOT NULL, cout_annuel_fourchette_basse INT NOT NULL, cout_annuel_fourchette_haute INT NOT NULL, date_valeur_prix DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', confort_ete VARCHAR(250) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE diagnostic_dta (id INT NOT NULL, type_visite VARCHAR(250) NOT NULL, fichier_plan VARCHAR(250) NOT NULL, destination VARCHAR(250) NOT NULL, locaux_non_visites LONGTEXT NOT NULL COMMENT \'(DC2Type:json)\', materiaux_amiantes LONGTEXT NOT NULL COMMENT \'(DC2Type:json)\', PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE diagnostic_esris (id INT NOT NULL, pprn TINYINT(1) NOT NULL, pprm TINYINT(1) NOT NULL, pprt TINYINT(1) NOT NULL, risque_sismique INT NOT NULL, radon TINYINT(1) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE email_history (id INT AUTO_INCREMENT NOT NULL, subject VARCHAR(255) NOT NULL, recipients LONGTEXT NOT NULL COMMENT \'(DC2Type:array)\', sent_date DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', created_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE enregistrement_diagnostic (id INT AUTO_INCREMENT NOT NULL, demande_diagnostic_id INT DEFAULT NULL, diagnostiqueur_id INT NOT NULL, validateur1_id INT NOT NULL, validateur2_id INT DEFAULT NULL, type_diagnostic VARCHAR(255) NOT NULL, message_refus VARCHAR(255) DEFAULT NULL, state VARCHAR(255) NOT NULL, created_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_444A870892CB9B21 (demande_diagnostic_id), INDEX IDX_444A8708160B515E (diagnostiqueur_id), INDEX IDX_444A87087D586A25 (validateur1_id), INDEX IDX_444A87086FEDC5CB (validateur2_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE ensemble (id INT AUTO_INCREMENT NOT NULL, tranche_id INT NOT NULL, code VARCHAR(16) NOT NULL, code_nature VARCHAR(16) NOT NULL, date_permis_construire DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', date_construction DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', date_mise_en_service DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', date_calcul_exigibilite DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', `label` VARCHAR(250) DEFAULT NULL, reference VARCHAR(250) NOT NULL, created_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_8C4B40B0B76F6B31 (tranche_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE entreprise (id INT AUTO_INCREMENT NOT NULL, validation_type VARCHAR(255) NOT NULL, `label` VARCHAR(250) DEFAULT NULL, created_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE escalier (id INT AUTO_INCREMENT NOT NULL, ensemble_id INT NOT NULL, code VARCHAR(16) NOT NULL, rue VARCHAR(250) NOT NULL, code_postal VARCHAR(16) NOT NULL, commune VARCHAR(250) NOT NULL, code_agence VARCHAR(16) NOT NULL, label_agence VARCHAR(250) NOT NULL, reference VARCHAR(250) NOT NULL, created_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_9AECAFEFB268ECB1 (ensemble_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE module (id INT AUTO_INCREMENT NOT NULL, escalier_id INT NOT NULL, code VARCHAR(16) NOT NULL, date_permis_construire DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', date_construction DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', date_mise_en_service DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', date_calcul_exigibilite DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', equipement_gaz TINYINT(1) NOT NULL, code_categorie VARCHAR(16) NOT NULL, libelle_categorie VARCHAR(250) NOT NULL, reference VARCHAR(250) NOT NULL, created_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_C24262844DC5C42 (escalier_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE programme (id INT AUTO_INCREMENT NOT NULL, code INT NOT NULL, `label` VARCHAR(250) DEFAULT NULL, created_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE reset_password_request (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, selector VARCHAR(20) NOT NULL, hashed_token VARCHAR(100) NOT NULL, requested_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', expires_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_7CE748AA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE tranche (id INT AUTO_INCREMENT NOT NULL, programme_id INT NOT NULL, code VARCHAR(16) NOT NULL, `label` VARCHAR(250) DEFAULT NULL, reference VARCHAR(250) NOT NULL, created_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_6667584062BB7AEE (programme_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE user (id INT AUTO_INCREMENT NOT NULL, entreprise_id INT DEFAULT NULL, email VARCHAR(180) NOT NULL, roles LONGTEXT NOT NULL COMMENT \'(DC2Type:json)\', type VARCHAR(255) NOT NULL, password VARCHAR(255) DEFAULT NULL, first_name VARCHAR(255) DEFAULT NULL, last_name VARCHAR(255) DEFAULT NULL, is_enable TINYINT(1) NOT NULL, has_create_password TINYINT(1) NOT NULL, token_password_creation VARCHAR(100) DEFAULT NULL, last_login DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', password_modification_date DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', UNIQUE INDEX UNIQ_8D93D649E7927C74 (email), INDEX IDX_8D93D649A4AEAFEA (entreprise_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE demande_diagnostic ADD CONSTRAINT FK_CB082283D2F91B5 FOREIGN KEY (commanditaire_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE demande_diagnostic ADD CONSTRAINT FK_CB08228A4AEAFEA FOREIGN KEY (entreprise_id) REFERENCES entreprise (id)');
$this->addSql('ALTER TABLE demande_diagnostic_patrimoine ADD CONSTRAINT FK_3A59D0F92CB9B21 FOREIGN KEY (demande_diagnostic_id) REFERENCES demande_diagnostic (id)');
$this->addSql('ALTER TABLE demande_diagnostic_patrimoine ADD CONSTRAINT FK_3A59D0FAFC2B591 FOREIGN KEY (module_id) REFERENCES module (id)');
$this->addSql('ALTER TABLE demande_diagnostic_patrimoine ADD CONSTRAINT FK_3A59D0FB268ECB1 FOREIGN KEY (ensemble_id) REFERENCES ensemble (id)');
$this->addSql('ALTER TABLE diagnostic ADD CONSTRAINT FK_FA7C8889AFC2B591 FOREIGN KEY (module_id) REFERENCES module (id)');
$this->addSql('ALTER TABLE diagnostic ADD CONSTRAINT FK_FA7C8889B268ECB1 FOREIGN KEY (ensemble_id) REFERENCES ensemble (id)');
$this->addSql('ALTER TABLE diagnostic ADD CONSTRAINT FK_FA7C88898A9932CE FOREIGN KEY (enregistrement_diagnostic_id) REFERENCES enregistrement_diagnostic (id)');
$this->addSql('ALTER TABLE diagnostic_crep ADD CONSTRAINT FK_6DAB713EBF396750 FOREIGN KEY (id) REFERENCES diagnostic (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE diagnostic_dapp ADD CONSTRAINT FK_D9A9B2BABF396750 FOREIGN KEY (id) REFERENCES diagnostic (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE diagnostic_deo ADD CONSTRAINT FK_99E6DE4EBF396750 FOREIGN KEY (id) REFERENCES diagnostic (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE diagnostic_dgo ADD CONSTRAINT FK_ABD0BCCCBF396750 FOREIGN KEY (id) REFERENCES diagnostic (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE diagnostic_dpe ADD CONSTRAINT FK_4E86D144BF396750 FOREIGN KEY (id) REFERENCES diagnostic (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE diagnostic_dta ADD CONSTRAINT FK_2D87D059BF396750 FOREIGN KEY (id) REFERENCES diagnostic (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE diagnostic_esris ADD CONSTRAINT FK_6F97F7F9BF396750 FOREIGN KEY (id) REFERENCES diagnostic (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE enregistrement_diagnostic ADD CONSTRAINT FK_444A870892CB9B21 FOREIGN KEY (demande_diagnostic_id) REFERENCES entreprise (id)');
$this->addSql('ALTER TABLE enregistrement_diagnostic ADD CONSTRAINT FK_444A8708160B515E FOREIGN KEY (diagnostiqueur_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE enregistrement_diagnostic ADD CONSTRAINT FK_444A87087D586A25 FOREIGN KEY (validateur1_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE enregistrement_diagnostic ADD CONSTRAINT FK_444A87086FEDC5CB FOREIGN KEY (validateur2_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE ensemble ADD CONSTRAINT FK_8C4B40B0B76F6B31 FOREIGN KEY (tranche_id) REFERENCES tranche (id)');
$this->addSql('ALTER TABLE escalier ADD CONSTRAINT FK_9AECAFEFB268ECB1 FOREIGN KEY (ensemble_id) REFERENCES ensemble (id)');
$this->addSql('ALTER TABLE module ADD CONSTRAINT FK_C24262844DC5C42 FOREIGN KEY (escalier_id) REFERENCES escalier (id)');
$this->addSql('ALTER TABLE reset_password_request ADD CONSTRAINT FK_7CE748AA76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE tranche ADD CONSTRAINT FK_6667584062BB7AEE FOREIGN KEY (programme_id) REFERENCES programme (id)');
$this->addSql('ALTER TABLE user ADD CONSTRAINT FK_8D93D649A4AEAFEA FOREIGN KEY (entreprise_id) REFERENCES entreprise (id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE demande_diagnostic_patrimoine DROP FOREIGN KEY FK_3A59D0F92CB9B21');
$this->addSql('ALTER TABLE diagnostic_crep DROP FOREIGN KEY FK_6DAB713EBF396750');
$this->addSql('ALTER TABLE diagnostic_dapp DROP FOREIGN KEY FK_D9A9B2BABF396750');
$this->addSql('ALTER TABLE diagnostic_deo DROP FOREIGN KEY FK_99E6DE4EBF396750');
$this->addSql('ALTER TABLE diagnostic_dgo DROP FOREIGN KEY FK_ABD0BCCCBF396750');
$this->addSql('ALTER TABLE diagnostic_dpe DROP FOREIGN KEY FK_4E86D144BF396750');
$this->addSql('ALTER TABLE diagnostic_dta DROP FOREIGN KEY FK_2D87D059BF396750');
$this->addSql('ALTER TABLE diagnostic_esris DROP FOREIGN KEY FK_6F97F7F9BF396750');
$this->addSql('ALTER TABLE diagnostic DROP FOREIGN KEY FK_FA7C88898A9932CE');
$this->addSql('ALTER TABLE demande_diagnostic_patrimoine DROP FOREIGN KEY FK_3A59D0FB268ECB1');
$this->addSql('ALTER TABLE diagnostic DROP FOREIGN KEY FK_FA7C8889B268ECB1');
$this->addSql('ALTER TABLE escalier DROP FOREIGN KEY FK_9AECAFEFB268ECB1');
$this->addSql('ALTER TABLE demande_diagnostic DROP FOREIGN KEY FK_CB08228A4AEAFEA');
$this->addSql('ALTER TABLE enregistrement_diagnostic DROP FOREIGN KEY FK_444A870892CB9B21');
$this->addSql('ALTER TABLE user DROP FOREIGN KEY FK_8D93D649A4AEAFEA');
$this->addSql('ALTER TABLE module DROP FOREIGN KEY FK_C24262844DC5C42');
$this->addSql('ALTER TABLE demande_diagnostic_patrimoine DROP FOREIGN KEY FK_3A59D0FAFC2B591');
$this->addSql('ALTER TABLE diagnostic DROP FOREIGN KEY FK_FA7C8889AFC2B591');
$this->addSql('ALTER TABLE tranche DROP FOREIGN KEY FK_6667584062BB7AEE');
$this->addSql('ALTER TABLE ensemble DROP FOREIGN KEY FK_8C4B40B0B76F6B31');
$this->addSql('ALTER TABLE demande_diagnostic DROP FOREIGN KEY FK_CB082283D2F91B5');
$this->addSql('ALTER TABLE enregistrement_diagnostic DROP FOREIGN KEY FK_444A8708160B515E');
$this->addSql('ALTER TABLE enregistrement_diagnostic DROP FOREIGN KEY FK_444A87087D586A25');
$this->addSql('ALTER TABLE enregistrement_diagnostic DROP FOREIGN KEY FK_444A87086FEDC5CB');
$this->addSql('ALTER TABLE reset_password_request DROP FOREIGN KEY FK_7CE748AA76ED395');
$this->addSql('DROP TABLE demande_diagnostic');
$this->addSql('DROP TABLE demande_diagnostic_patrimoine');
$this->addSql('DROP TABLE diagnostic');
$this->addSql('DROP TABLE diagnostic_crep');
$this->addSql('DROP TABLE diagnostic_dapp');
$this->addSql('DROP TABLE diagnostic_deo');
$this->addSql('DROP TABLE diagnostic_dgo');
$this->addSql('DROP TABLE diagnostic_dpe');
$this->addSql('DROP TABLE diagnostic_dta');
$this->addSql('DROP TABLE diagnostic_esris');
$this->addSql('DROP TABLE email_history');
$this->addSql('DROP TABLE enregistrement_diagnostic');
$this->addSql('DROP TABLE ensemble');
$this->addSql('DROP TABLE entreprise');
$this->addSql('DROP TABLE escalier');
$this->addSql('DROP TABLE module');
$this->addSql('DROP TABLE programme');
$this->addSql('DROP TABLE reset_password_request');
$this->addSql('DROP TABLE tranche');
$this->addSql('DROP TABLE user');
}
}