Passed
Push — master ( 0a354e...300378 )
by Nico
37:07 queued 24:59
created

Version20250416113049_Colony_Class_Restriction   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 13
dl 0
loc 24
rs 10
c 0
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getDescription() 0 3 1
A down() 0 6 1
A up() 0 9 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
11
final class Version20250416113049_Colony_Class_Restriction extends AbstractMigration
12
{
13
    public function getDescription(): string
14
    {
15
        return 'Add colony class restriction table';
16
    }
17
18
    public function up(Schema $schema): void
19
    {
20
        $this->addSql('CREATE TABLE stu_colony_class_restriction (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, colony_class_id INT NOT NULL, terraforming_id INT DEFAULT NULL, building_id INT DEFAULT NULL, PRIMARY KEY(id))');
21
        $this->addSql('CREATE INDEX IDX_CEF73D7ABA61CECC ON stu_colony_class_restriction (colony_class_id)');
22
        $this->addSql('CREATE INDEX IDX_CEF73D7ABD31079C ON stu_colony_class_restriction (terraforming_id)');
23
        $this->addSql('CREATE INDEX IDX_CEF73D7A4D2A7E12 ON stu_colony_class_restriction (building_id)');
24
        $this->addSql('ALTER TABLE stu_colony_class_restriction ADD CONSTRAINT FK_CEF73D7ABA61CECC FOREIGN KEY (colony_class_id) REFERENCES stu_colonies_classes (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
25
        $this->addSql('ALTER TABLE stu_colony_class_restriction ADD CONSTRAINT FK_CEF73D7ABD31079C FOREIGN KEY (terraforming_id) REFERENCES stu_terraforming (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
26
        $this->addSql('ALTER TABLE stu_colony_class_restriction ADD CONSTRAINT FK_CEF73D7A4D2A7E12 FOREIGN KEY (building_id) REFERENCES stu_buildings (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
27
    }
28
29
    public function down(Schema $schema): void
30
    {
31
        $this->addSql('ALTER TABLE stu_colony_class_restriction DROP CONSTRAINT FK_CEF73D7ABA61CECC');
32
        $this->addSql('ALTER TABLE stu_colony_class_restriction DROP CONSTRAINT FK_CEF73D7ABD31079C');
33
        $this->addSql('ALTER TABLE stu_colony_class_restriction DROP CONSTRAINT FK_CEF73D7A4D2A7E12');
34
        $this->addSql('DROP TABLE stu_colony_class_restriction');
35
    }
36
}