Passed
Branch master (89bdb5)
by Janko
11:58
created

Version20240806141232   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 14
dl 0
loc 26
rs 10
c 0
b 0
f 0
wmc 3
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Stu\Migrations\Pgsql;
6
7
use Override;
8
use Doctrine\DBAL\Schema\Schema;
9
use Doctrine\Migrations\AbstractMigration;
10
11
12
final class Version20240806141232 extends AbstractMigration
13
{
14
    #[Override]
15
    public function getDescription(): string
16
    {
17
        return 'Add mining queue entity';
18
    }
19
20
    #[Override]
21
    public function up(Schema $schema): void
22
    {
23
24
        $this->addSql('CREATE TABLE stu_mining_queue (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, ship_id INT NOT NULL, location_mining_id INT NOT NULL, PRIMARY KEY(id))');
25
        $this->addSql('CREATE INDEX IDX_BBFEF8C427D56C25 ON stu_mining_queue (location_mining_id)');
26
        $this->addSql('CREATE UNIQUE INDEX UNIQ_BBFEF8C4C256317D ON stu_mining_queue (ship_id)');
27
        $this->addSql('ALTER TABLE stu_mining_queue ADD CONSTRAINT FK_BBFEF8C427D56C25 FOREIGN KEY (location_mining_id) REFERENCES stu_location_mining (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
28
        $this->addSql('ALTER TABLE stu_mining_queue ADD CONSTRAINT FK_BBFEF8C4C256317D FOREIGN KEY (ship_id) REFERENCES stu_ships (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
29
    }
30
31
    #[Override]
32
    public function down(Schema $schema): void
33
    {
34
        $this->addSql('CREATE SCHEMA public');
35
        $this->addSql('ALTER TABLE stu_mining_queue DROP CONSTRAINT FK_BBFEF8C427D56C25');
36
        $this->addSql('ALTER TABLE stu_mining_queue DROP CONSTRAINT FK_BBFEF8C4C256317D');
37
        $this->addSql('DROP TABLE stu_mining_queue');
38
    }
39
}
40