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

down()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 1
dl 0
loc 6
rs 10
c 0
b 0
f 0
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
}