Passed
Pull Request — dev (#2038)
by Janko
09:06
created

Version20250113075911_Skill_Level   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 7
dl 0
loc 18
rs 10
c 0
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A up() 0 5 1
A down() 0 4 1
A getDescription() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Stu\Migrations\Pgsql;
6
7
use Doctrine\DBAL\Schema\Schema;
8
use Doctrine\Migrations\AbstractMigration;
9
10
final class Version20250113075911_Skill_Level extends AbstractMigration
11
{
12
    public function getDescription(): string
13
    {
14
        return 'Introduce crew skill levels';
15
    }
16
17
    public function up(Schema $schema): void
18
    {
19
        $this->addSql('CREATE TABLE stu_crew_skill (crew_id INT NOT NULL, position SMALLINT NOT NULL, expertise INT NOT NULL, PRIMARY KEY(crew_id, position))');
20
        $this->addSql('CREATE INDEX IDX_5AD19B5F5FE259F6 ON stu_crew_skill (crew_id)');
21
        $this->addSql('ALTER TABLE stu_crew_skill ADD CONSTRAINT FK_5AD19B5F5FE259F6 FOREIGN KEY (crew_id) REFERENCES stu_crew (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
22
    }
23
24
    public function down(Schema $schema): void
25
    {
26
        $this->addSql('ALTER TABLE stu_crew_skill DROP CONSTRAINT FK_5AD19B5F5FE259F6');
27
        $this->addSql('DROP TABLE stu_crew_skill');
28
    }
29
}
30