migrations/Version20240605113749.php line 1

Open in your IDE?
  1. <?php
  2. /* @noinspection PhpUnused */
  3. declare(strict_types=1);
  4. namespace DoctrineMigrations;
  5. use Doctrine\DBAL\Schema\Schema;
  6. use Doctrine\Migrations\AbstractMigration;
  7. /**
  8.  * Auto-generated Migration: Please modify to your needs!
  9.  *
  10.  * @package API
  11.  * @author fmt.hodzic
  12.  * @internal
  13.  */
  14. final class Version20240605113749 extends AbstractMigration
  15. {
  16.     public function down(Schema $schema): void
  17.     {
  18.         // this down() migration is auto-generated, please modify it to your needs
  19.         $this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY FK_A5032255965E9A38');
  20.         $this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY FK_A5032255C7810F3B');
  21.         $this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY FK_A50322558C03F15C');
  22.         $this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY FK_A5032255527F3C87');
  23.         $this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY IDX_ED338E4FBBAEBA1');
  24.         $this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY IDX_ED338E4E299B95F');
  25.         $this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY FK_ED338E4BB1F0ADA');
  26.         $this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY FK_ED338E46C2AE5AE');
  27.         $this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY FK_ED338E49FC10E62');
  28.         $this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY FK_ED338E48C90FDA8');
  29.         $this->addSql('DROP TABLE job_lab_case');
  30.         $this->addSql('DROP TABLE job_lab_workflow_status');
  31.     }
  32.     public function getDescription(): string
  33.     {
  34.         return 'Create Job Lab and Job Lab Workflow Status tables';
  35.     }
  36.     public function up(Schema $schema): void
  37.     {
  38.         // this up() migration is auto-generated, please modify it to your needs
  39.         $this->addSql(
  40.             '
  41.                 CREATE TABLE job_lab_workflow_status (
  42.                     id VARCHAR(32) NOT NULL COMMENT \'Internal job lab workflow status ID\',
  43.                     position INT NOT NULL COMMENT \'Position of the status in the workflow\',
  44.                     PRIMARY KEY(id)
  45.                 ) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB
  46.             '
  47.         );
  48.         $this->addSql(
  49.             '
  50.                 CREATE TABLE job_lab_case (
  51.                     id INT AUTO_INCREMENT NOT NULL COMMENT \'Internal ID\',
  52.                     created INT NOT NULL COMMENT \'Entity creation date as UNIX timestamp\',
  53.                     active SMALLINT DEFAULT 1 NOT NULL COMMENT \'Indicator if entity is active\',
  54.                     last_active_date DATE DEFAULT NULL COMMENT \'Last active date\',
  55.                     employee_id INT NOT NULL COMMENT \'Internal ID\',
  56.                     skill_screening_id INT DEFAULT NULL COMMENT \'Internal ID\',
  57.                     previous_workflow_status_id VARCHAR(32) DEFAULT NULL
  58.                         COMMENT \'Internal job lab workflow status ID\',
  59.                     workflow_status_id VARCHAR(32) NOT NULL COMMENT \'Internal job lab workflow status ID\',
  60.                     case_manager_id INT NOT NULL COMMENT \'Internal ID\',
  61.                     skill_screening_requester INT DEFAULT NULL COMMENT \'Internal ID\',
  62.                     skill_screening_requested_at DATE DEFAULT NULL,
  63.                     matching_configuration_org_unit_id INT DEFAULT NULL COMMENT \'Internal ID\',
  64.                     matching_configuration_deviations_per_criteria_allowed SMALLINT DEFAULT NULL
  65.                         COMMENT \'Deviations per criteria allowed\',
  66.                     matching_configuration_include_org_unit_subtree SMALLINT DEFAULT NULL
  67.                         COMMENT \'Include organizational unit subtree\',
  68.                     matching_configuration_ko_criteria_applied SMALLINT DEFAULT NULL COMMENT \'KO criteria applied\',
  69.                     matching_configuration_number_of_deviations_allowed SMALLINT DEFAULT NULL
  70.                         COMMENT \'Number of deviations allowed\',
  71.                     matching_configuration_workplace_screening_condition_type VARCHAR(16) DEFAULT NULL
  72.                         COMMENT \'Workplace screening condition type\',
  73.                     matched_workplace_id INT DEFAULT NULL COMMENT \'Internal ID\',
  74.                     matched_org_unit_id INT DEFAULT NULL COMMENT \'Internal ID\',
  75.                     matched_successful_date DATE DEFAULT NULL COMMENT \'Matched successful date\',
  76.                     overall_matching_percentage INT DEFAULT NULL COMMENT \'Overall matching percentage\',
  77.                     work_attempt_start_date DATE DEFAULT NULL COMMENT \'Work attempt start date\',
  78.                     work_attempt_unsuccessful_reason_id INT DEFAULT NULL COMMENT \'Internal ID\',
  79.                     cancelled_process_reason VARCHAR(225) DEFAULT NULL COMMENT \'Process cancelled reason\',
  80.                     is_skill_screening_changed SMALLINT DEFAULT NULL COMMENT \'Flag indicating whether the skill screening is new or not.\',
  81.                     INDEX IDX_ED338E4965E9A38 (workflow_status_id),
  82.                     INDEX IDX_ED338E4C7810F3B (previous_workflow_status_id),
  83.                     INDEX IDX_ED338E48C03F15C (employee_id),
  84.                     INDEX IDX_ED338E4527F3C87 (case_manager_id),
  85.                     INDEX IDX_ED338E4BB1F0ADA (matching_configuration_org_unit_id),
  86.                     INDEX IDX_ED338E49FC10E62 (matched_workplace_id),
  87.                     INDEX IDX_ED338E46C2AE5AE (matched_org_unit_id),
  88.                     INDEX IDX_ED338E48C90FDA8 (work_attempt_unsuccessful_reason_id),
  89.                     PRIMARY KEY(id)
  90.                 ) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB
  91.             '
  92.         );
  93.         $this->addSql(
  94.             '
  95.                 ALTER TABLE job_lab_case ADD CONSTRAINT FK_A5032255965E9A38
  96.                     FOREIGN KEY (workflow_status_id) REFERENCES job_lab_workflow_status (id)
  97.             '
  98.         );
  99.         $this->addSql(
  100.             '
  101.                 ALTER TABLE job_lab_case ADD CONSTRAINT FK_A5032255C7810F3B FOREIGN KEY
  102.                     (previous_workflow_status_id) REFERENCES job_lab_workflow_status (id)
  103.             '
  104.         );
  105.         $this->addSql(
  106.             '
  107.                 ALTER TABLE job_lab_case ADD CONSTRAINT FK_A50322558C03F15C
  108.                     FOREIGN KEY (employee_id) REFERENCES employee (id)
  109.             '
  110.         );
  111.         $this->addSql(
  112.             '
  113.                 ALTER TABLE job_lab_case ADD CONSTRAINT FK_A5032255527F3C87
  114.                     FOREIGN KEY (case_manager_id) REFERENCES user (id)
  115.             '
  116.         );
  117.         $this->addSql(
  118.             '
  119.                 ALTER TABLE job_lab_case ADD CONSTRAINT IDX_ED338E4FBBAEBA1
  120.                     FOREIGN KEY (skill_screening_requester) REFERENCES user (id)
  121.             '
  122.         );
  123.         $this->addSql(
  124.             '
  125.                 ALTER TABLE job_lab_case ADD CONSTRAINT IDX_ED338E4E299B95F
  126.                     FOREIGN KEY (skill_screening_id) REFERENCES skill_screening (id)
  127.             '
  128.         );
  129.         $this->addSql(
  130.             '
  131.                 ALTER TABLE job_lab_case ADD CONSTRAINT FK_ED338E4BB1F0ADA
  132.                     FOREIGN KEY (matching_configuration_org_unit_id) REFERENCES org_unit (id)
  133.             '
  134.         );
  135.         $this->addSql(
  136.             '
  137.                 ALTER TABLE job_lab_case ADD CONSTRAINT FK_ED338E49FC10E62
  138.                     FOREIGN KEY (matched_workplace_id) REFERENCES workplace (id)
  139.             '
  140.         );
  141.         $this->addSql(
  142.             '
  143.                 ALTER TABLE job_lab_case ADD CONSTRAINT FK_ED338E46C2AE5AE
  144.                     FOREIGN KEY (matched_org_unit_id) REFERENCES org_unit (id)
  145.             '
  146.         );
  147.         $this->addSql(
  148.             '
  149.                 ALTER TABLE job_lab_case ADD CONSTRAINT FK_ED338E48C90FDA8
  150.                     FOREIGN KEY (work_attempt_unsuccessful_reason_id)
  151.                         REFERENCES job_lab_work_attempt_unsuccessful_reason (id)
  152.             '
  153.         );
  154.     }
  155. }