<?php
/* @noinspection PhpUnused */
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*
* @package API
* @author fmt.hodzic
* @internal
*/
final class Version20240605113749 extends AbstractMigration
{
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY FK_A5032255965E9A38');
$this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY FK_A5032255C7810F3B');
$this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY FK_A50322558C03F15C');
$this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY FK_A5032255527F3C87');
$this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY IDX_ED338E4FBBAEBA1');
$this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY IDX_ED338E4E299B95F');
$this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY FK_ED338E4BB1F0ADA');
$this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY FK_ED338E46C2AE5AE');
$this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY FK_ED338E49FC10E62');
$this->addSql('ALTER TABLE job_lab_case DROP FOREIGN KEY FK_ED338E48C90FDA8');
$this->addSql('DROP TABLE job_lab_case');
$this->addSql('DROP TABLE job_lab_workflow_status');
}
public function getDescription(): string
{
return 'Create Job Lab and Job Lab Workflow Status tables';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql(
'
CREATE TABLE job_lab_workflow_status (
id VARCHAR(32) NOT NULL COMMENT \'Internal job lab workflow status ID\',
position INT NOT NULL COMMENT \'Position of the status in the workflow\',
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB
'
);
$this->addSql(
'
CREATE TABLE job_lab_case (
id INT AUTO_INCREMENT NOT NULL COMMENT \'Internal ID\',
created INT NOT NULL COMMENT \'Entity creation date as UNIX timestamp\',
active SMALLINT DEFAULT 1 NOT NULL COMMENT \'Indicator if entity is active\',
last_active_date DATE DEFAULT NULL COMMENT \'Last active date\',
employee_id INT NOT NULL COMMENT \'Internal ID\',
skill_screening_id INT DEFAULT NULL COMMENT \'Internal ID\',
previous_workflow_status_id VARCHAR(32) DEFAULT NULL
COMMENT \'Internal job lab workflow status ID\',
workflow_status_id VARCHAR(32) NOT NULL COMMENT \'Internal job lab workflow status ID\',
case_manager_id INT NOT NULL COMMENT \'Internal ID\',
skill_screening_requester INT DEFAULT NULL COMMENT \'Internal ID\',
skill_screening_requested_at DATE DEFAULT NULL,
matching_configuration_org_unit_id INT DEFAULT NULL COMMENT \'Internal ID\',
matching_configuration_deviations_per_criteria_allowed SMALLINT DEFAULT NULL
COMMENT \'Deviations per criteria allowed\',
matching_configuration_include_org_unit_subtree SMALLINT DEFAULT NULL
COMMENT \'Include organizational unit subtree\',
matching_configuration_ko_criteria_applied SMALLINT DEFAULT NULL COMMENT \'KO criteria applied\',
matching_configuration_number_of_deviations_allowed SMALLINT DEFAULT NULL
COMMENT \'Number of deviations allowed\',
matching_configuration_workplace_screening_condition_type VARCHAR(16) DEFAULT NULL
COMMENT \'Workplace screening condition type\',
matched_workplace_id INT DEFAULT NULL COMMENT \'Internal ID\',
matched_org_unit_id INT DEFAULT NULL COMMENT \'Internal ID\',
matched_successful_date DATE DEFAULT NULL COMMENT \'Matched successful date\',
overall_matching_percentage INT DEFAULT NULL COMMENT \'Overall matching percentage\',
work_attempt_start_date DATE DEFAULT NULL COMMENT \'Work attempt start date\',
work_attempt_unsuccessful_reason_id INT DEFAULT NULL COMMENT \'Internal ID\',
cancelled_process_reason VARCHAR(225) DEFAULT NULL COMMENT \'Process cancelled reason\',
is_skill_screening_changed SMALLINT DEFAULT NULL COMMENT \'Flag indicating whether the skill screening is new or not.\',
INDEX IDX_ED338E4965E9A38 (workflow_status_id),
INDEX IDX_ED338E4C7810F3B (previous_workflow_status_id),
INDEX IDX_ED338E48C03F15C (employee_id),
INDEX IDX_ED338E4527F3C87 (case_manager_id),
INDEX IDX_ED338E4BB1F0ADA (matching_configuration_org_unit_id),
INDEX IDX_ED338E49FC10E62 (matched_workplace_id),
INDEX IDX_ED338E46C2AE5AE (matched_org_unit_id),
INDEX IDX_ED338E48C90FDA8 (work_attempt_unsuccessful_reason_id),
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB
'
);
$this->addSql(
'
ALTER TABLE job_lab_case ADD CONSTRAINT FK_A5032255965E9A38
FOREIGN KEY (workflow_status_id) REFERENCES job_lab_workflow_status (id)
'
);
$this->addSql(
'
ALTER TABLE job_lab_case ADD CONSTRAINT FK_A5032255C7810F3B FOREIGN KEY
(previous_workflow_status_id) REFERENCES job_lab_workflow_status (id)
'
);
$this->addSql(
'
ALTER TABLE job_lab_case ADD CONSTRAINT FK_A50322558C03F15C
FOREIGN KEY (employee_id) REFERENCES employee (id)
'
);
$this->addSql(
'
ALTER TABLE job_lab_case ADD CONSTRAINT FK_A5032255527F3C87
FOREIGN KEY (case_manager_id) REFERENCES user (id)
'
);
$this->addSql(
'
ALTER TABLE job_lab_case ADD CONSTRAINT IDX_ED338E4FBBAEBA1
FOREIGN KEY (skill_screening_requester) REFERENCES user (id)
'
);
$this->addSql(
'
ALTER TABLE job_lab_case ADD CONSTRAINT IDX_ED338E4E299B95F
FOREIGN KEY (skill_screening_id) REFERENCES skill_screening (id)
'
);
$this->addSql(
'
ALTER TABLE job_lab_case ADD CONSTRAINT FK_ED338E4BB1F0ADA
FOREIGN KEY (matching_configuration_org_unit_id) REFERENCES org_unit (id)
'
);
$this->addSql(
'
ALTER TABLE job_lab_case ADD CONSTRAINT FK_ED338E49FC10E62
FOREIGN KEY (matched_workplace_id) REFERENCES workplace (id)
'
);
$this->addSql(
'
ALTER TABLE job_lab_case ADD CONSTRAINT FK_ED338E46C2AE5AE
FOREIGN KEY (matched_org_unit_id) REFERENCES org_unit (id)
'
);
$this->addSql(
'
ALTER TABLE job_lab_case ADD CONSTRAINT FK_ED338E48C90FDA8
FOREIGN KEY (work_attempt_unsuccessful_reason_id)
REFERENCES job_lab_work_attempt_unsuccessful_reason (id)
'
);
}
}