Passed
Push — dev ( eeaa0f...91a85a )
by Janko
26:10
created

Version20240802113703_EntityLock   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
eloc 7
dl 0
loc 18
ccs 0
cts 9
cp 0
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;
6
7
use Doctrine\DBAL\Schema\Schema;
8
use Doctrine\Migrations\AbstractMigration;
9
10
final class Version20240802113703_EntityLock extends AbstractMigration
11
{
12
    public function getDescription(): string
13
    {
14
        return 'Introduce new entity EntityLock';
15
    }
16
17
    public function up(Schema $schema): void
18
    {
19
        $this->addSql('CREATE TABLE stu_entity_lock (entity_id INT NOT NULL, type VARCHAR(20) NOT NULL, request_id VARCHAR(50) DEFAULT NULL, created TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, user_id INT DEFAULT NULL, PRIMARY KEY(entity_id, type))');
20
        $this->addSql('CREATE INDEX IDX_7EC1164FA76ED395 ON stu_entity_lock (user_id)');
21
        $this->addSql('ALTER TABLE stu_entity_lock ADD CONSTRAINT FK_7EC1164FA76ED395 FOREIGN KEY (user_id) REFERENCES stu_user (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
22
    }
23
24
    public function down(Schema $schema): void
25
    {
26
        $this->addSql('ALTER TABLE stu_entity_lock DROP CONSTRAINT FK_7EC1164FA76ED395');
27
        $this->addSql('DROP TABLE stu_entity_lock');
28
    }
29
}
30