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

Version20250114095354_Enhancement_Log::down()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 1
dl 0
loc 5
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
final class Version20250114095354_Enhancement_Log extends AbstractMigration
11
{
12
    public function getDescription(): string
13
    {
14
        return 'Introduce skill enhancement log entity.';
15
    }
16
17
    public function up(Schema $schema): void
18
    {
19
        $this->addSql('CREATE TABLE stu_skill_enhancement_log (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, user_id INT NOT NULL, enhancement_id INT NOT NULL, crew_name VARCHAR(255) NOT NULL, promotion VARCHAR(255) DEFAULT NULL, ship_name VARCHAR(255) NOT NULL, expertise INT NOT NULL, expertise_sum INT NOT NULL, date INT NOT NULL, PRIMARY KEY(id))');
20
        $this->addSql('CREATE INDEX IDX_73B42DBBA76ED395 ON stu_skill_enhancement_log (user_id)');
21
        $this->addSql('CREATE INDEX IDX_73B42DBB49186B17 ON stu_skill_enhancement_log (enhancement_id)');
22
        $this->addSql('ALTER TABLE stu_skill_enhancement_log ADD CONSTRAINT FK_73B42DBBA76ED395 FOREIGN KEY (user_id) REFERENCES stu_user (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
23
        $this->addSql('ALTER TABLE stu_skill_enhancement_log ADD CONSTRAINT FK_73B42DBB49186B17 FOREIGN KEY (enhancement_id) REFERENCES stu_skill_enhancement (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
24
    }
25
26
    public function down(Schema $schema): void
27
    {
28
        $this->addSql('ALTER TABLE stu_skill_enhancement_log DROP CONSTRAINT FK_73B42DBBA76ED395');
29
        $this->addSql('ALTER TABLE stu_skill_enhancement_log DROP CONSTRAINT FK_73B42DBB49186B17');
30
        $this->addSql('DROP TABLE stu_skill_enhancement_log');
31
    }
32
}
33