<?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 Version20220919093808 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 apprenti (id INT AUTO_INCREMENT NOT NULL, nom VARCHAR(255) NOT NULL, prenom VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL, telephone VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE apprentissage (id INT AUTO_INCREMENT NOT NULL, apprenti_id INT DEFAULT NULL, tuteur_id INT DEFAULT NULL, date_de_debut DATE NOT NULL, date_de_fin DATE NOT NULL, fonction_apprenti VARCHAR(255) NOT NULL, missions LONGTEXT NOT NULL, INDEX IDX_890543FE2A4EC778 (apprenti_id), INDEX IDX_890543FE86EC68D8 (tuteur_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE bilan (id INT AUTO_INCREMENT NOT NULL, appreciations LONGTEXT NOT NULL, axes_de_progression LONGTEXT NOT NULL, commentaires LONGTEXT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE categorie_de_competence (id INT AUTO_INCREMENT NOT NULL, nom VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE competence (id INT AUTO_INCREMENT NOT NULL, categorie_de_competence_id INT DEFAULT NULL, nom VARCHAR(255) NOT NULL, INDEX IDX_94D4687F2A5C40E6 (categorie_de_competence_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE competence_cursus (competence_id INT NOT NULL, cursus_id INT NOT NULL, INDEX IDX_4BB6C5DF15761DAB (competence_id), INDEX IDX_4BB6C5DF40AEF4B9 (cursus_id), PRIMARY KEY(competence_id, cursus_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE cursus (id INT AUTO_INCREMENT NOT NULL, nom_livecampus VARCHAR(255) NOT NULL, nom_officiel VARCHAR(255) NOT NULL, nom_court VARCHAR(255) NOT NULL, annee VARCHAR(4) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE cursus_competence (id INT AUTO_INCREMENT NOT NULL, competence_id INT DEFAULT NULL, cursus_id INT DEFAULT NULL, INDEX IDX_1C6CDBE315761DAB (competence_id), INDEX IDX_1C6CDBE340AEF4B9 (cursus_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE descriptions (id INT AUTO_INCREMENT NOT NULL, missions LONGTEXT NOT NULL, livrable LONGTEXT NOT NULL, qualites LONGTEXT NOT NULL, decouvertes LONGTEXT NOT NULL, demarche LONGTEXT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE entreprise (id INT AUTO_INCREMENT NOT NULL, raison_social VARCHAR(255) NOT NULL, activite VARCHAR(255) NOT NULL, ville VARCHAR(255) NOT NULL, adresse VARCHAR(255) NOT NULL, code_postal VARCHAR(5) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE evaluation (id INT AUTO_INCREMENT NOT NULL, competence_id INT DEFAULT NULL, session_id INT DEFAULT NULL, periode_id INT DEFAULT NULL, selectionner TINYINT(1) DEFAULT NULL, note VARCHAR(1) DEFAULT NULL, INDEX IDX_1323A57515761DAB (competence_id), INDEX IDX_1323A575613FECDF (session_id), INDEX IDX_1323A575F384C1CF (periode_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE periode (id INT AUTO_INCREMENT NOT NULL, session_id INT DEFAULT NULL, description_id INT DEFAULT NULL, bilan_id INT DEFAULT NULL, date_de_debut DATE NOT NULL, date_de_fin DATE NOT NULL, numero VARCHAR(2) NOT NULL, INDEX IDX_93C32DF3613FECDF (session_id), UNIQUE INDEX UNIQ_93C32DF3D9F966B (description_id), UNIQUE INDEX UNIQ_93C32DF3705F7C57 (bilan_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE session (id INT AUTO_INCREMENT NOT NULL, cursus_id INT DEFAULT NULL, nom VARCHAR(255) NOT NULL, date_de_debut DATE NOT NULL, date_de_fin DATE NOT NULL, nombre_de_periode VARCHAR(255) NOT NULL, INDEX IDX_D044D5D440AEF4B9 (cursus_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE session_apprentissage (session_id INT NOT NULL, apprentissage_id INT NOT NULL, INDEX IDX_13746DF5613FECDF (session_id), INDEX IDX_13746DF57225732A (apprentissage_id), PRIMARY KEY(session_id, apprentissage_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE tuteur (id INT AUTO_INCREMENT NOT NULL, entreprise_id INT DEFAULT NULL, nom VARCHAR(255) NOT NULL, prenom VARCHAR(255) NOT NULL, fonction VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL, telephone VARCHAR(10) NOT NULL, INDEX IDX_56412268A4AEAFEA (entreprise_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, email VARCHAR(180) NOT NULL, roles JSON NOT NULL, password VARCHAR(255) NOT NULL, is_verified TINYINT(1) NOT NULL, UNIQUE INDEX UNIQ_8D93D649E7927C74 (email), 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 apprentissage ADD CONSTRAINT FK_890543FE2A4EC778 FOREIGN KEY (apprenti_id) REFERENCES apprenti (id)');
$this->addSql('ALTER TABLE apprentissage ADD CONSTRAINT FK_890543FE86EC68D8 FOREIGN KEY (tuteur_id) REFERENCES tuteur (id)');
$this->addSql('ALTER TABLE competence ADD CONSTRAINT FK_94D4687F2A5C40E6 FOREIGN KEY (categorie_de_competence_id) REFERENCES categorie_de_competence (id)');
$this->addSql('ALTER TABLE competence_cursus ADD CONSTRAINT FK_4BB6C5DF15761DAB FOREIGN KEY (competence_id) REFERENCES competence (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE competence_cursus ADD CONSTRAINT FK_4BB6C5DF40AEF4B9 FOREIGN KEY (cursus_id) REFERENCES cursus (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE cursus_competence ADD CONSTRAINT FK_1C6CDBE315761DAB FOREIGN KEY (competence_id) REFERENCES competence (id)');
$this->addSql('ALTER TABLE cursus_competence ADD CONSTRAINT FK_1C6CDBE340AEF4B9 FOREIGN KEY (cursus_id) REFERENCES cursus (id)');
$this->addSql('ALTER TABLE evaluation ADD CONSTRAINT FK_1323A57515761DAB FOREIGN KEY (competence_id) REFERENCES competence (id)');
$this->addSql('ALTER TABLE evaluation ADD CONSTRAINT FK_1323A575613FECDF FOREIGN KEY (session_id) REFERENCES session (id)');
$this->addSql('ALTER TABLE evaluation ADD CONSTRAINT FK_1323A575F384C1CF FOREIGN KEY (periode_id) REFERENCES periode (id)');
$this->addSql('ALTER TABLE periode ADD CONSTRAINT FK_93C32DF3613FECDF FOREIGN KEY (session_id) REFERENCES session (id)');
$this->addSql('ALTER TABLE periode ADD CONSTRAINT FK_93C32DF3D9F966B FOREIGN KEY (description_id) REFERENCES descriptions (id)');
$this->addSql('ALTER TABLE periode ADD CONSTRAINT FK_93C32DF3705F7C57 FOREIGN KEY (bilan_id) REFERENCES bilan (id)');
$this->addSql('ALTER TABLE session ADD CONSTRAINT FK_D044D5D440AEF4B9 FOREIGN KEY (cursus_id) REFERENCES cursus (id)');
$this->addSql('ALTER TABLE session_apprentissage ADD CONSTRAINT FK_13746DF5613FECDF FOREIGN KEY (session_id) REFERENCES session (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE session_apprentissage ADD CONSTRAINT FK_13746DF57225732A FOREIGN KEY (apprentissage_id) REFERENCES apprentissage (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE tuteur ADD CONSTRAINT FK_56412268A4AEAFEA 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 apprentissage DROP FOREIGN KEY FK_890543FE2A4EC778');
$this->addSql('ALTER TABLE apprentissage DROP FOREIGN KEY FK_890543FE86EC68D8');
$this->addSql('ALTER TABLE competence DROP FOREIGN KEY FK_94D4687F2A5C40E6');
$this->addSql('ALTER TABLE competence_cursus DROP FOREIGN KEY FK_4BB6C5DF15761DAB');
$this->addSql('ALTER TABLE competence_cursus DROP FOREIGN KEY FK_4BB6C5DF40AEF4B9');
$this->addSql('ALTER TABLE cursus_competence DROP FOREIGN KEY FK_1C6CDBE315761DAB');
$this->addSql('ALTER TABLE cursus_competence DROP FOREIGN KEY FK_1C6CDBE340AEF4B9');
$this->addSql('ALTER TABLE evaluation DROP FOREIGN KEY FK_1323A57515761DAB');
$this->addSql('ALTER TABLE evaluation DROP FOREIGN KEY FK_1323A575613FECDF');
$this->addSql('ALTER TABLE evaluation DROP FOREIGN KEY FK_1323A575F384C1CF');
$this->addSql('ALTER TABLE periode DROP FOREIGN KEY FK_93C32DF3613FECDF');
$this->addSql('ALTER TABLE periode DROP FOREIGN KEY FK_93C32DF3D9F966B');
$this->addSql('ALTER TABLE periode DROP FOREIGN KEY FK_93C32DF3705F7C57');
$this->addSql('ALTER TABLE session DROP FOREIGN KEY FK_D044D5D440AEF4B9');
$this->addSql('ALTER TABLE session_apprentissage DROP FOREIGN KEY FK_13746DF5613FECDF');
$this->addSql('ALTER TABLE session_apprentissage DROP FOREIGN KEY FK_13746DF57225732A');
$this->addSql('ALTER TABLE tuteur DROP FOREIGN KEY FK_56412268A4AEAFEA');
$this->addSql('DROP TABLE apprenti');
$this->addSql('DROP TABLE apprentissage');
$this->addSql('DROP TABLE bilan');
$this->addSql('DROP TABLE categorie_de_competence');
$this->addSql('DROP TABLE competence');
$this->addSql('DROP TABLE competence_cursus');
$this->addSql('DROP TABLE cursus');
$this->addSql('DROP TABLE cursus_competence');
$this->addSql('DROP TABLE descriptions');
$this->addSql('DROP TABLE entreprise');
$this->addSql('DROP TABLE evaluation');
$this->addSql('DROP TABLE periode');
$this->addSql('DROP TABLE session');
$this->addSql('DROP TABLE session_apprentissage');
$this->addSql('DROP TABLE tuteur');
$this->addSql('DROP TABLE user');
$this->addSql('DROP TABLE messenger_messages');
}
}