migrations/Version20230228073640.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. /**
  7.  * Auto-generated Migration: Please modify to your needs!
  8.  */
  9. final class Version20230228073640 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // this up() migration is auto-generated, please modify it to your needs
  18.         $this->addSql('CREATE TABLE collaborator (id INT AUTO_INCREMENT NOT NULL, collaborator_group_id INT DEFAULT NULL, work_function_id INT DEFAULT NULL, email VARCHAR(255) DEFAULT NULL, first_name VARCHAR(255) DEFAULT NULL, last_name VARCHAR(255) DEFAULT NULL, entered_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', face_image VARCHAR(255) DEFAULT NULL, INDEX IDX_606D487CDEEE57C1 (collaborator_group_id), INDEX IDX_606D487C78C568C2 (work_function_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE formation_offer (id INT AUTO_INCREMENT NOT NULL, formation_offer_group_id INT DEFAULT NULL, formation_function VARCHAR(255) NOT NULL, description LONGTEXT DEFAULT NULL, started_at DATE DEFAULT NULL, published_at DATETIME DEFAULT NULL, unpublished_at DATETIME DEFAULT NULL, send_notification TINYINT(1) DEFAULT NULL, is_active TINYINT(1) DEFAULT NULL, created_at DATETIME DEFAULT NULL, INDEX IDX_5F5D194B507D19A8 (formation_offer_group_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE formation_offer_group (formation_offer_id INT NOT NULL, group_id INT NOT NULL, INDEX IDX_B11019F79454231F (formation_offer_id), INDEX IDX_B11019F7FE54D947 (group_id), PRIMARY KEY(formation_offer_id, group_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  21.         $this->addSql('CREATE TABLE `group` (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  22.         $this->addSql('CREATE TABLE job_offer (id INT AUTO_INCREMENT NOT NULL, job_offer_group_id INT DEFAULT NULL, job_function VARCHAR(255) NOT NULL, description LONGTEXT DEFAULT NULL, started_at DATE DEFAULT NULL, published_at DATETIME DEFAULT NULL, unpublished_at DATETIME DEFAULT NULL, is_active TINYINT(1) DEFAULT NULL, send_notification TINYINT(1) DEFAULT NULL, created_at DATETIME DEFAULT NULL, INDEX IDX_288A3A4E155039E0 (job_offer_group_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  23.         $this->addSql('CREATE TABLE job_offer_group (job_offer_id INT NOT NULL, group_id INT NOT NULL, INDEX IDX_8D8122653481D195 (job_offer_id), INDEX IDX_8D812265FE54D947 (group_id), PRIMARY KEY(job_offer_id, group_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  24.         $this->addSql('CREATE TABLE mailer (id INT AUTO_INCREMENT NOT NULL, subject VARCHAR(255) NOT NULL, content LONGTEXT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  25.         $this->addSql('CREATE TABLE organizational_chart (id INT AUTO_INCREMENT NOT NULL, csv_file VARCHAR(255) NOT NULL, updated_at DATETIME NOT NULL, service_or_pole VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  26.         $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');
  27.         $this->addSql('CREATE TABLE slide (id INT AUTO_INCREMENT NOT NULL, title VARCHAR(255) DEFAULT NULL, description LONGTEXT DEFAULT NULL, image VARCHAR(255) DEFAULT NULL, is_active TINYINT(1) DEFAULT NULL, created_at DATETIME DEFAULT NULL, published_at DATETIME DEFAULT NULL, unpublished_at DATETIME DEFAULT NULL, send_notification TINYINT(1) DEFAULT NULL, image_mobile VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  28.         $this->addSql('CREATE TABLE slide_group (slide_id INT NOT NULL, group_id INT NOT NULL, INDEX IDX_EC4992E6DD5AFB87 (slide_id), INDEX IDX_EC4992E6FE54D947 (group_id), PRIMARY KEY(slide_id, group_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  29.         $this->addSql('CREATE TABLE user (id INT AUTO_INCREMENT NOT NULL, user_group_id INT DEFAULT NULL, email VARCHAR(180) NOT NULL, roles LONGTEXT NOT NULL COMMENT \'(DC2Type:json)\', password VARCHAR(255) NOT NULL, firstname VARCHAR(255) DEFAULT NULL, lastname VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_8D93D649E7927C74 (email), INDEX IDX_8D93D6491ED93D47 (user_group_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  30.         $this->addSql('CREATE TABLE whats_up (id INT AUTO_INCREMENT NOT NULL, whats_up_category_id INT DEFAULT NULL, title VARCHAR(255) DEFAULT NULL, description LONGTEXT DEFAULT NULL, created_at DATETIME DEFAULT NULL, short_description LONGTEXT NOT NULL, published_at DATETIME DEFAULT NULL, unpublished_at DATETIME DEFAULT NULL, send_notification TINYINT(1) DEFAULT NULL, is_active TINYINT(1) DEFAULT NULL, INDEX IDX_A83345E293F21E09 (whats_up_category_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  31.         $this->addSql('CREATE TABLE whats_up_group (whats_up_id INT NOT NULL, group_id INT NOT NULL, INDEX IDX_19929E7EFEF91B00 (whats_up_id), INDEX IDX_19929E7EFE54D947 (group_id), PRIMARY KEY(whats_up_id, group_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  32.         $this->addSql('CREATE TABLE whats_up_category (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) DEFAULT NULL, background_color VARCHAR(255) NOT NULL, text_color VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  33.         $this->addSql('CREATE TABLE work_function (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  34.         $this->addSql('ALTER TABLE collaborator ADD CONSTRAINT FK_606D487CDEEE57C1 FOREIGN KEY (collaborator_group_id) REFERENCES `group` (id)');
  35.         $this->addSql('ALTER TABLE collaborator ADD CONSTRAINT FK_606D487C78C568C2 FOREIGN KEY (work_function_id) REFERENCES work_function (id)');
  36.         $this->addSql('ALTER TABLE formation_offer ADD CONSTRAINT FK_5F5D194B507D19A8 FOREIGN KEY (formation_offer_group_id) REFERENCES `group` (id)');
  37.         $this->addSql('ALTER TABLE formation_offer_group ADD CONSTRAINT FK_B11019F79454231F FOREIGN KEY (formation_offer_id) REFERENCES formation_offer (id) ON DELETE CASCADE');
  38.         $this->addSql('ALTER TABLE formation_offer_group ADD CONSTRAINT FK_B11019F7FE54D947 FOREIGN KEY (group_id) REFERENCES `group` (id) ON DELETE CASCADE');
  39.         $this->addSql('ALTER TABLE job_offer ADD CONSTRAINT FK_288A3A4E155039E0 FOREIGN KEY (job_offer_group_id) REFERENCES `group` (id)');
  40.         $this->addSql('ALTER TABLE job_offer_group ADD CONSTRAINT FK_8D8122653481D195 FOREIGN KEY (job_offer_id) REFERENCES job_offer (id) ON DELETE CASCADE');
  41.         $this->addSql('ALTER TABLE job_offer_group ADD CONSTRAINT FK_8D812265FE54D947 FOREIGN KEY (group_id) REFERENCES `group` (id) ON DELETE CASCADE');
  42.         $this->addSql('ALTER TABLE reset_password_request ADD CONSTRAINT FK_7CE748AA76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
  43.         $this->addSql('ALTER TABLE slide_group ADD CONSTRAINT FK_EC4992E6DD5AFB87 FOREIGN KEY (slide_id) REFERENCES slide (id) ON DELETE CASCADE');
  44.         $this->addSql('ALTER TABLE slide_group ADD CONSTRAINT FK_EC4992E6FE54D947 FOREIGN KEY (group_id) REFERENCES `group` (id) ON DELETE CASCADE');
  45.         $this->addSql('ALTER TABLE user ADD CONSTRAINT FK_8D93D6491ED93D47 FOREIGN KEY (user_group_id) REFERENCES `group` (id)');
  46.         $this->addSql('ALTER TABLE whats_up ADD CONSTRAINT FK_A83345E293F21E09 FOREIGN KEY (whats_up_category_id) REFERENCES whats_up_category (id)');
  47.         $this->addSql('ALTER TABLE whats_up_group ADD CONSTRAINT FK_19929E7EFEF91B00 FOREIGN KEY (whats_up_id) REFERENCES whats_up (id) ON DELETE CASCADE');
  48.         $this->addSql('ALTER TABLE whats_up_group ADD CONSTRAINT FK_19929E7EFE54D947 FOREIGN KEY (group_id) REFERENCES `group` (id) ON DELETE CASCADE');
  49.     }
  50.     public function down(Schema $schema): void
  51.     {
  52.         // this down() migration is auto-generated, please modify it to your needs
  53.         $this->addSql('ALTER TABLE formation_offer_group DROP FOREIGN KEY FK_B11019F79454231F');
  54.         $this->addSql('ALTER TABLE collaborator DROP FOREIGN KEY FK_606D487CDEEE57C1');
  55.         $this->addSql('ALTER TABLE formation_offer DROP FOREIGN KEY FK_5F5D194B507D19A8');
  56.         $this->addSql('ALTER TABLE formation_offer_group DROP FOREIGN KEY FK_B11019F7FE54D947');
  57.         $this->addSql('ALTER TABLE job_offer DROP FOREIGN KEY FK_288A3A4E155039E0');
  58.         $this->addSql('ALTER TABLE job_offer_group DROP FOREIGN KEY FK_8D812265FE54D947');
  59.         $this->addSql('ALTER TABLE slide_group DROP FOREIGN KEY FK_EC4992E6FE54D947');
  60.         $this->addSql('ALTER TABLE user DROP FOREIGN KEY FK_8D93D6491ED93D47');
  61.         $this->addSql('ALTER TABLE whats_up_group DROP FOREIGN KEY FK_19929E7EFE54D947');
  62.         $this->addSql('ALTER TABLE job_offer_group DROP FOREIGN KEY FK_8D8122653481D195');
  63.         $this->addSql('ALTER TABLE slide_group DROP FOREIGN KEY FK_EC4992E6DD5AFB87');
  64.         $this->addSql('ALTER TABLE reset_password_request DROP FOREIGN KEY FK_7CE748AA76ED395');
  65.         $this->addSql('ALTER TABLE whats_up_group DROP FOREIGN KEY FK_19929E7EFEF91B00');
  66.         $this->addSql('ALTER TABLE whats_up DROP FOREIGN KEY FK_A83345E293F21E09');
  67.         $this->addSql('ALTER TABLE collaborator DROP FOREIGN KEY FK_606D487C78C568C2');
  68.         $this->addSql('DROP TABLE collaborator');
  69.         $this->addSql('DROP TABLE formation_offer');
  70.         $this->addSql('DROP TABLE formation_offer_group');
  71.         $this->addSql('DROP TABLE `group`');
  72.         $this->addSql('DROP TABLE job_offer');
  73.         $this->addSql('DROP TABLE job_offer_group');
  74.         $this->addSql('DROP TABLE mailer');
  75.         $this->addSql('DROP TABLE organizational_chart');
  76.         $this->addSql('DROP TABLE reset_password_request');
  77.         $this->addSql('DROP TABLE slide');
  78.         $this->addSql('DROP TABLE slide_group');
  79.         $this->addSql('DROP TABLE user');
  80.         $this->addSql('DROP TABLE whats_up');
  81.         $this->addSql('DROP TABLE whats_up_group');
  82.         $this->addSql('DROP TABLE whats_up_category');
  83.         $this->addSql('DROP TABLE work_function');
  84.     }
  85. }