migrations/Version20220831000000.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace AppMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. /**
  7.  * init Migration
  8.  */
  9. final class Version20220831000000 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return 'Version initiale !';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         $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');
  18.         $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');
  19.         $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');
  20.         $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');
  21.         $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');
  22.         $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');
  23.         $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');
  24.         $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');
  25.         $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');
  26.         $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');
  27.         $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');
  28.         $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');
  29.         $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');
  30.         $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');
  31.         $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');
  32.         $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');
  33.         $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');
  34.         $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');
  35.         $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');
  36.         $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');
  37.         $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');
  38.         $this->addSql('ALTER TABLE app_album_photo ADD CONSTRAINT FK_3BEAE8821137ABCF FOREIGN KEY (album_id) REFERENCES app_album (id)');
  39.         $this->addSql('ALTER TABLE app_company ADD CONSTRAINT FK_A2E28902727ACA70 FOREIGN KEY (parent_id) REFERENCES app_company (id)');
  40.         $this->addSql('ALTER TABLE app_equipment ADD CONSTRAINT FK_7B578AB621BDB235 FOREIGN KEY (station_id) REFERENCES app_station (id)');
  41.         $this->addSql('ALTER TABLE app_equipment ADD CONSTRAINT FK_7B578AB667C55537 FOREIGN KEY (commercial_designation_id) REFERENCES app_equipment_commercial_designation (id)');
  42.         $this->addSql('ALTER TABLE app_equipment_file ADD CONSTRAINT FK_69E175E8517FE9FE FOREIGN KEY (equipment_id) REFERENCES app_equipment (id)');
  43.         $this->addSql('ALTER TABLE app_equipment_file ADD CONSTRAINT FK_69E175E8210E48BE FOREIGN KEY (equipment_category_file_id) REFERENCES app_equipment_category_file (id)');
  44.         $this->addSql('ALTER TABLE app_page ADD CONSTRAINT FK_1124938012469DE2 FOREIGN KEY (category_id) REFERENCES app_page_category (id)');
  45.         $this->addSql('ALTER TABLE app_page ADD CONSTRAINT FK_112493801137ABCF FOREIGN KEY (album_id) REFERENCES app_album (id)');
  46.         $this->addSql('ALTER TABLE app_page_content ADD CONSTRAINT FK_C62BC1BDC4663E4 FOREIGN KEY (page_id) REFERENCES app_page (id)');
  47.         $this->addSql('ALTER TABLE app_station ADD CONSTRAINT FK_726478FC979B1AD6 FOREIGN KEY (company_id) REFERENCES app_company (id)');
  48.         $this->addSql('ALTER TABLE app_user ADD CONSTRAINT FK_88BDF3E9979B1AD6 FOREIGN KEY (company_id) REFERENCES app_company (id)');
  49.         $this->addSql('ALTER TABLE reset_password_request ADD CONSTRAINT FK_7CE748AA76ED395 FOREIGN KEY (user_id) REFERENCES app_user (id)');
  50.     }
  51.     public function down(Schema $schema): void
  52.     {
  53.         $this->addSql('ALTER TABLE app_album_photo DROP FOREIGN KEY FK_3BEAE8821137ABCF');
  54.         $this->addSql('ALTER TABLE app_company DROP FOREIGN KEY FK_A2E28902727ACA70');
  55.         $this->addSql('ALTER TABLE app_equipment DROP FOREIGN KEY FK_7B578AB621BDB235');
  56.         $this->addSql('ALTER TABLE app_equipment DROP FOREIGN KEY FK_7B578AB667C55537');
  57.         $this->addSql('ALTER TABLE app_equipment_file DROP FOREIGN KEY FK_69E175E8517FE9FE');
  58.         $this->addSql('ALTER TABLE app_equipment_file DROP FOREIGN KEY FK_69E175E8210E48BE');
  59.         $this->addSql('ALTER TABLE app_page DROP FOREIGN KEY FK_1124938012469DE2');
  60.         $this->addSql('ALTER TABLE app_page DROP FOREIGN KEY FK_112493801137ABCF');
  61.         $this->addSql('ALTER TABLE app_page_content DROP FOREIGN KEY FK_C62BC1BDC4663E4');
  62.         $this->addSql('ALTER TABLE app_station DROP FOREIGN KEY FK_726478FC979B1AD6');
  63.         $this->addSql('ALTER TABLE app_user DROP FOREIGN KEY FK_88BDF3E9979B1AD6');
  64.         $this->addSql('ALTER TABLE reset_password_request DROP FOREIGN KEY FK_7CE748AA76ED395');
  65.         $this->addSql('DROP TABLE app_album');
  66.         $this->addSql('DROP TABLE app_album_photo');
  67.         $this->addSql('DROP TABLE app_company');
  68.         $this->addSql('DROP TABLE app_content');
  69.         $this->addSql('DROP TABLE app_equipment');
  70.         $this->addSql('DROP TABLE app_equipment_category_file');
  71.         $this->addSql('DROP TABLE app_equipment_commercial_designation');
  72.         $this->addSql('DROP TABLE app_equipment_construction_material');
  73.         $this->addSql('DROP TABLE app_equipment_file');
  74.         $this->addSql('DROP TABLE app_equipment_fluid');
  75.         $this->addSql('DROP TABLE app_equipment_manufacturer');
  76.         $this->addSql('DROP TABLE app_equipment_manufacturer_code');
  77.         $this->addSql('DROP TABLE app_equipment_manufacturing_regime');
  78.         $this->addSql('DROP TABLE app_media');
  79.         $this->addSql('DROP TABLE app_page');
  80.         $this->addSql('DROP TABLE app_page_category');
  81.         $this->addSql('DROP TABLE app_page_content');
  82.         $this->addSql('DROP TABLE app_station');
  83.         $this->addSql('DROP TABLE app_user');
  84.         $this->addSql('DROP TABLE reset_password_request');
  85.         $this->addSql('DROP TABLE messenger_messages');
  86.     }
  87. }