<?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 Version20221010100507 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 config_objet (id INT AUTO_INCREMENT NOT NULL, config_section_id INT NOT NULL, objet_id INT NOT NULL, valeur VARCHAR(255) DEFAULT NULL, INDEX IDX_FBE01E78802A795C (config_section_id), INDEX IDX_FBE01E78F520CF5A (objet_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE config_section (id INT AUTO_INCREMENT NOT NULL, section_id INT NOT NULL, label VARCHAR(255) NOT NULL, type VARCHAR(255) DEFAULT NULL, valeur LONGTEXT DEFAULT NULL, type_code VARCHAR(255) DEFAULT NULL, required TINYINT(1) DEFAULT NULL, INDEX IDX_586FB81FD823E37A (section_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE objet (id INT AUTO_INCREMENT NOT NULL, section_id INT DEFAULT NULL, label VARCHAR(255) NOT NULL, actif TINYINT(1) DEFAULT NULL, ordre VARCHAR(255) DEFAULT NULL, capture VARCHAR(255) DEFAULT NULL, description LONGTEXT DEFAULT NULL, remarque LONGTEXT DEFAULT NULL, position VARCHAR(255) DEFAULT NULL, date_debut DATETIME DEFAULT NULL, date_fin DATETIME DEFAULT NULL, date_creation DATETIME DEFAULT NULL, date_modification DATETIME DEFAULT NULL, visibility LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', INDEX IDX_46CD4C38D823E37A (section_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE objet_projet (objet_id INT NOT NULL, projet_id INT NOT NULL, INDEX IDX_E5CA7183F520CF5A (objet_id), INDEX IDX_E5CA7183C18272 (projet_id), PRIMARY KEY(objet_id, projet_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE section (id INT AUTO_INCREMENT NOT NULL, projet_id INT DEFAULT NULL, label VARCHAR(255) NOT NULL, code_html LONGTEXT NOT NULL, code_css LONGTEXT DEFAULT NULL, code_js LONGTEXT DEFAULT NULL, code_block LONGTEXT DEFAULT NULL, date_creation DATETIME DEFAULT NULL, date_modification DATETIME DEFAULT NULL, INDEX IDX_2D737AEFC18272 (projet_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE config_objet ADD CONSTRAINT FK_FBE01E78802A795C FOREIGN KEY (config_section_id) REFERENCES config_section (id)');
$this->addSql('ALTER TABLE config_objet ADD CONSTRAINT FK_FBE01E78F520CF5A FOREIGN KEY (objet_id) REFERENCES objet (id)');
$this->addSql('ALTER TABLE config_section ADD CONSTRAINT FK_586FB81FD823E37A FOREIGN KEY (section_id) REFERENCES section (id)');
$this->addSql('ALTER TABLE objet ADD CONSTRAINT FK_46CD4C38D823E37A FOREIGN KEY (section_id) REFERENCES section (id)');
$this->addSql('ALTER TABLE objet_projet ADD CONSTRAINT FK_E5CA7183F520CF5A FOREIGN KEY (objet_id) REFERENCES objet (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE objet_projet ADD CONSTRAINT FK_E5CA7183C18272 FOREIGN KEY (projet_id) REFERENCES projet (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE section ADD CONSTRAINT FK_2D737AEFC18272 FOREIGN KEY (projet_id) REFERENCES projet (id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE config_objet DROP FOREIGN KEY FK_FBE01E78802A795C');
$this->addSql('ALTER TABLE config_objet DROP FOREIGN KEY FK_FBE01E78F520CF5A');
$this->addSql('ALTER TABLE objet_projet DROP FOREIGN KEY FK_E5CA7183F520CF5A');
$this->addSql('ALTER TABLE config_section DROP FOREIGN KEY FK_586FB81FD823E37A');
$this->addSql('ALTER TABLE objet DROP FOREIGN KEY FK_46CD4C38D823E37A');
$this->addSql('DROP TABLE config_objet');
$this->addSql('DROP TABLE config_section');
$this->addSql('DROP TABLE objet');
$this->addSql('DROP TABLE objet_projet');
$this->addSql('DROP TABLE section');
}
}