<?php
declare(strict_types=1);
namespace AppMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* init Migration
*/
final class Version20220831000000 extends AbstractMigration
{
public function getDescription(): string
{
return 'Version initiale !';
}
public function up(Schema $schema): void
{
$this->addSql('CREATE TABLE app_album (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(160) NOT NULL, identifier VARCHAR(255) NOT NULL, template VARCHAR(100) NOT NULL, UNIQUE INDEX UNIQ_EF4BE38E772E836A (identifier), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_album_photo (id INT AUTO_INCREMENT NOT NULL, album_id INT NOT NULL, name VARCHAR(200) NOT NULL, position INT NOT NULL, enabled TINYINT(1) NOT NULL, caption VARCHAR(255) DEFAULT NULL, link VARCHAR(255) DEFAULT NULL, image VARCHAR(255) DEFAULT NULL, updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_3BEAE8821137ABCF (album_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_company (id INT AUTO_INCREMENT NOT NULL, parent_id INT DEFAULT NULL, name VARCHAR(255) NOT NULL, type VARCHAR(100) NOT NULL, duns VARCHAR(255) DEFAULT NULL, siret VARCHAR(100) DEFAULT NULL, telephone VARCHAR(20) DEFAULT NULL, additional_telephone VARCHAR(20) DEFAULT NULL, email VARCHAR(180) DEFAULT NULL, locale VARCHAR(5) NOT NULL, premium_until_at DATE DEFAULT NULL, enabled TINYINT(1) DEFAULT NULL, is_parent TINYINT(1) NOT NULL, address VARCHAR(255) DEFAULT NULL, zipcode VARCHAR(20) DEFAULT NULL, city VARCHAR(200) DEFAULT NULL, country VARCHAR(255) DEFAULT NULL, longitude VARCHAR(255) DEFAULT NULL, latitude VARCHAR(255) DEFAULT NULL, pending_validated TINYINT(1) NOT NULL, pending_data JSON DEFAULT NULL, pending_at DATE DEFAULT NULL, INDEX IDX_A2E28902727ACA70 (parent_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_content (id INT AUTO_INCREMENT NOT NULL, identifier VARCHAR(255) NOT NULL, category VARCHAR(160) DEFAULT NULL, name VARCHAR(255) NOT NULL, value LONGTEXT DEFAULT NULL, public TINYINT(1) NOT NULL, text_editor TINYINT(1) NOT NULL, UNIQUE INDEX UNIQ_1398B0E4772E836A (identifier), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_equipment (id INT AUTO_INCREMENT NOT NULL, station_id INT DEFAULT NULL, commercial_designation_id INT DEFAULT NULL, serial_number VARCHAR(255) DEFAULT NULL, manufacturer VARCHAR(50) NOT NULL, manufacture_date DATE NOT NULL, capacity INT DEFAULT NULL, pressure NUMERIC(6, 3) DEFAULT NULL, enabled TINYINT(1) DEFAULT NULL, type VARCHAR(100) NOT NULL, fluid VARCHAR(255) DEFAULT NULL, state VARCHAR(50) DEFAULT NULL, start_date DATE DEFAULT NULL, inspection_plan TINYINT(1) NOT NULL, regulatory_monitoring TINYINT(1) DEFAULT NULL, functional_monitoring TINYINT(1) DEFAULT NULL, minimum_temperature NUMERIC(5, 2) DEFAULT NULL, maximum_temperature NUMERIC(5, 2) DEFAULT NULL, plan VARCHAR(50) DEFAULT NULL, test_pressure NUMERIC(5, 2) DEFAULT NULL, internal_covering VARCHAR(100) DEFAULT NULL, external_covering VARCHAR(100) DEFAULT NULL, manufacturer_code VARCHAR(50) DEFAULT NULL, manufacturing_regime VARCHAR(50) DEFAULT NULL, construction_material VARCHAR(50) DEFAULT NULL, insulation_system TINYINT(1) NOT NULL, operator_reference VARCHAR(100) DEFAULT NULL, safety_device TINYINT(1) NOT NULL, pending_validated TINYINT(1) NOT NULL, pending_data JSON DEFAULT NULL, pending_at DATE DEFAULT NULL, INDEX IDX_7B578AB621BDB235 (station_id), INDEX IDX_7B578AB667C55537 (commercial_designation_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_equipment_category_file (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, identifier VARCHAR(255) NOT NULL, multiple TINYINT(1) NOT NULL, regulatory_monitoring TINYINT(1) NOT NULL, premium TINYINT(1) NOT NULL, notice_period SMALLINT NOT NULL, UNIQUE INDEX UNIQ_77E6C99C772E836A (identifier), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_equipment_commercial_designation (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(100) NOT NULL, periodicity INT NOT NULL, notice_before INT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_equipment_construction_material (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(50) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_equipment_file (id INT AUTO_INCREMENT NOT NULL, equipment_id INT NOT NULL, equipment_category_file_id INT NOT NULL, enabled TINYINT(1) DEFAULT NULL, identifier VARCHAR(255) NOT NULL, name VARCHAR(200) NOT NULL, file_name VARCHAR(255) DEFAULT NULL, mime_type VARCHAR(99) DEFAULT NULL, size INT DEFAULT NULL, comment VARCHAR(255) DEFAULT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', UNIQUE INDEX UNIQ_69E175E8772E836A (identifier), INDEX IDX_69E175E8517FE9FE (equipment_id), INDEX IDX_69E175E8210E48BE (equipment_category_file_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_equipment_fluid (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(100) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_equipment_manufacturer (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(100) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_equipment_manufacturer_code (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(100) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_equipment_manufacturing_regime (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(50) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_media (id INT AUTO_INCREMENT NOT NULL, identifier VARCHAR(255) NOT NULL, name VARCHAR(200) NOT NULL, file_name VARCHAR(255) DEFAULT NULL, mime_type VARCHAR(99) DEFAULT NULL, size INT DEFAULT NULL, updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', UNIQUE INDEX UNIQ_BCFF2CC1772E836A (identifier), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_page (id INT AUTO_INCREMENT NOT NULL, category_id INT DEFAULT NULL, album_id INT DEFAULT NULL, title VARCHAR(255) DEFAULT NULL, subtitle VARCHAR(255) DEFAULT NULL, resume LONGTEXT DEFAULT NULL, template VARCHAR(100) NOT NULL, published TINYINT(1) NOT NULL, name VARCHAR(200) NOT NULL, display_name TINYINT(1) NOT NULL, slug VARCHAR(200) NOT NULL, meta_title VARCHAR(255) DEFAULT NULL, meta_description VARCHAR(255) DEFAULT NULL, updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', UNIQUE INDEX UNIQ_11249380989D9B62 (slug), INDEX IDX_1124938012469DE2 (category_id), INDEX IDX_112493801137ABCF (album_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_page_category (id INT AUTO_INCREMENT NOT NULL, title VARCHAR(255) DEFAULT NULL, subtitle VARCHAR(255) DEFAULT NULL, description LONGTEXT DEFAULT NULL, template VARCHAR(100) NOT NULL, name VARCHAR(200) NOT NULL, display_name TINYINT(1) NOT NULL, slug VARCHAR(200) NOT NULL, meta_title VARCHAR(255) DEFAULT NULL, meta_description VARCHAR(255) DEFAULT NULL, image VARCHAR(255) DEFAULT NULL, updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', UNIQUE INDEX UNIQ_1CAE234D989D9B62 (slug), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_page_content (id INT AUTO_INCREMENT NOT NULL, page_id INT NOT NULL, type VARCHAR(45) NOT NULL, name VARCHAR(255) NOT NULL, display_name TINYINT(1) NOT NULL, body LONGTEXT DEFAULT NULL, specific_value VARCHAR(255) DEFAULT NULL, template VARCHAR(100) NOT NULL, position INT NOT NULL, image VARCHAR(255) DEFAULT NULL, updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_C62BC1BDC4663E4 (page_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_station (id INT AUTO_INCREMENT NOT NULL, company_id INT DEFAULT NULL, name VARCHAR(255) NOT NULL, concession_end_at DATE DEFAULT NULL, enabled TINYINT(1) DEFAULT NULL, request_change_company TINYINT(1) NOT NULL, address VARCHAR(255) DEFAULT NULL, zipcode VARCHAR(20) DEFAULT NULL, city VARCHAR(200) DEFAULT NULL, country VARCHAR(255) DEFAULT NULL, longitude VARCHAR(255) DEFAULT NULL, latitude VARCHAR(255) DEFAULT NULL, pending_validated TINYINT(1) NOT NULL, pending_data JSON DEFAULT NULL, pending_at DATE DEFAULT NULL, INDEX IDX_726478FC979B1AD6 (company_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE app_user (id INT AUTO_INCREMENT NOT NULL, company_id INT DEFAULT NULL, email VARCHAR(180) NOT NULL, roles JSON NOT NULL, password VARCHAR(255) DEFAULT NULL, is_verified TINYINT(1) NOT NULL, telephone VARCHAR(20) DEFAULT NULL, email_sent_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', force_change_password TINYINT(1) NOT NULL, enabled_alert TINYINT(1) NOT NULL, enabled TINYINT(1) DEFAULT NULL, given_name VARCHAR(75) DEFAULT NULL, family_name VARCHAR(75) DEFAULT NULL, information_for_moderation JSON DEFAULT NULL, UNIQUE INDEX UNIQ_88BDF3E9E7927C74 (email), INDEX IDX_88BDF3E9979B1AD6 (company_id), 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 NOT 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 messenger_messages (id BIGINT AUTO_INCREMENT NOT NULL, body LONGTEXT NOT NULL, headers LONGTEXT NOT NULL, queue_name VARCHAR(190) NOT NULL, created_at DATETIME NOT NULL, available_at DATETIME NOT NULL, delivered_at DATETIME DEFAULT NULL, INDEX IDX_75EA56E0FB7336F0 (queue_name), INDEX IDX_75EA56E0E3BD61CE (available_at), INDEX IDX_75EA56E016BA31DB (delivered_at), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE app_album_photo ADD CONSTRAINT FK_3BEAE8821137ABCF FOREIGN KEY (album_id) REFERENCES app_album (id)');
$this->addSql('ALTER TABLE app_company ADD CONSTRAINT FK_A2E28902727ACA70 FOREIGN KEY (parent_id) REFERENCES app_company (id)');
$this->addSql('ALTER TABLE app_equipment ADD CONSTRAINT FK_7B578AB621BDB235 FOREIGN KEY (station_id) REFERENCES app_station (id)');
$this->addSql('ALTER TABLE app_equipment ADD CONSTRAINT FK_7B578AB667C55537 FOREIGN KEY (commercial_designation_id) REFERENCES app_equipment_commercial_designation (id)');
$this->addSql('ALTER TABLE app_equipment_file ADD CONSTRAINT FK_69E175E8517FE9FE FOREIGN KEY (equipment_id) REFERENCES app_equipment (id)');
$this->addSql('ALTER TABLE app_equipment_file ADD CONSTRAINT FK_69E175E8210E48BE FOREIGN KEY (equipment_category_file_id) REFERENCES app_equipment_category_file (id)');
$this->addSql('ALTER TABLE app_page ADD CONSTRAINT FK_1124938012469DE2 FOREIGN KEY (category_id) REFERENCES app_page_category (id)');
$this->addSql('ALTER TABLE app_page ADD CONSTRAINT FK_112493801137ABCF FOREIGN KEY (album_id) REFERENCES app_album (id)');
$this->addSql('ALTER TABLE app_page_content ADD CONSTRAINT FK_C62BC1BDC4663E4 FOREIGN KEY (page_id) REFERENCES app_page (id)');
$this->addSql('ALTER TABLE app_station ADD CONSTRAINT FK_726478FC979B1AD6 FOREIGN KEY (company_id) REFERENCES app_company (id)');
$this->addSql('ALTER TABLE app_user ADD CONSTRAINT FK_88BDF3E9979B1AD6 FOREIGN KEY (company_id) REFERENCES app_company (id)');
$this->addSql('ALTER TABLE reset_password_request ADD CONSTRAINT FK_7CE748AA76ED395 FOREIGN KEY (user_id) REFERENCES app_user (id)');
}
public function down(Schema $schema): void
{
$this->addSql('ALTER TABLE app_album_photo DROP FOREIGN KEY FK_3BEAE8821137ABCF');
$this->addSql('ALTER TABLE app_company DROP FOREIGN KEY FK_A2E28902727ACA70');
$this->addSql('ALTER TABLE app_equipment DROP FOREIGN KEY FK_7B578AB621BDB235');
$this->addSql('ALTER TABLE app_equipment DROP FOREIGN KEY FK_7B578AB667C55537');
$this->addSql('ALTER TABLE app_equipment_file DROP FOREIGN KEY FK_69E175E8517FE9FE');
$this->addSql('ALTER TABLE app_equipment_file DROP FOREIGN KEY FK_69E175E8210E48BE');
$this->addSql('ALTER TABLE app_page DROP FOREIGN KEY FK_1124938012469DE2');
$this->addSql('ALTER TABLE app_page DROP FOREIGN KEY FK_112493801137ABCF');
$this->addSql('ALTER TABLE app_page_content DROP FOREIGN KEY FK_C62BC1BDC4663E4');
$this->addSql('ALTER TABLE app_station DROP FOREIGN KEY FK_726478FC979B1AD6');
$this->addSql('ALTER TABLE app_user DROP FOREIGN KEY FK_88BDF3E9979B1AD6');
$this->addSql('ALTER TABLE reset_password_request DROP FOREIGN KEY FK_7CE748AA76ED395');
$this->addSql('DROP TABLE app_album');
$this->addSql('DROP TABLE app_album_photo');
$this->addSql('DROP TABLE app_company');
$this->addSql('DROP TABLE app_content');
$this->addSql('DROP TABLE app_equipment');
$this->addSql('DROP TABLE app_equipment_category_file');
$this->addSql('DROP TABLE app_equipment_commercial_designation');
$this->addSql('DROP TABLE app_equipment_construction_material');
$this->addSql('DROP TABLE app_equipment_file');
$this->addSql('DROP TABLE app_equipment_fluid');
$this->addSql('DROP TABLE app_equipment_manufacturer');
$this->addSql('DROP TABLE app_equipment_manufacturer_code');
$this->addSql('DROP TABLE app_equipment_manufacturing_regime');
$this->addSql('DROP TABLE app_media');
$this->addSql('DROP TABLE app_page');
$this->addSql('DROP TABLE app_page_category');
$this->addSql('DROP TABLE app_page_content');
$this->addSql('DROP TABLE app_station');
$this->addSql('DROP TABLE app_user');
$this->addSql('DROP TABLE reset_password_request');
$this->addSql('DROP TABLE messenger_messages');
}
}