Completed
Push — master ( 61455a...76454c )
by Paweł
06:48
created

Version20180920115019   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 3
dl 0
loc 42
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A up() 0 28 1
A down() 0 10 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace SWP\Migrations;
6
7
use Doctrine\DBAL\Schema\Schema;
8
use Doctrine\Migrations\AbstractMigration;
9
10
/**
11
 * Auto-generated Migration: Please modify to your needs!
12
 */
13
final class Version20180920115019 extends AbstractMigration
14
{
15
    public function up(Schema $schema): void
16
    {
17
        // this up() migration is auto-generated, please modify it to your needs
18
        $this->abortIf('postgresql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'postgresql\'.');
19
20
        $this->addSql('CREATE SEQUENCE swp_keyword_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
21
        $this->addSql('CREATE TABLE swp_keyword (
22
          id INT NOT NULL, 
23
          name VARCHAR(255) NOT NULL, 
24
          slug VARCHAR(255) NOT NULL, 
25
          PRIMARY KEY(id)
26
        )');
27
        $this->addSql('CREATE TABLE swp_article_keyword (
28
          article_id INT NOT NULL, 
29
          keyword_id INT NOT NULL, 
30
          PRIMARY KEY(article_id, keyword_id)
31
        )');
32
        $this->addSql('CREATE INDEX IDX_6B43279A7294869C ON swp_article_keyword (article_id)');
33
        $this->addSql('CREATE INDEX IDX_6B43279A115D4552 ON swp_article_keyword (keyword_id)');
34
        $this->addSql('ALTER TABLE 
35
          swp_article_keyword 
36
        ADD 
37
          CONSTRAINT FK_6B43279A7294869C FOREIGN KEY (article_id) REFERENCES swp_article (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
38
        $this->addSql('ALTER TABLE 
39
          swp_article_keyword 
40
        ADD 
41
          CONSTRAINT FK_6B43279A115D4552 FOREIGN KEY (keyword_id) REFERENCES swp_keyword (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
42
    }
43
44
    public function down(Schema $schema): void
45
    {
46
        // this down() migration is auto-generated, please modify it to your needs
47
        $this->abortIf('postgresql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'postgresql\'.');
48
49
        $this->addSql('ALTER TABLE swp_article_keyword DROP CONSTRAINT FK_6B43279A115D4552');
50
        $this->addSql('DROP SEQUENCE swp_keyword_id_seq CASCADE');
51
        $this->addSql('DROP TABLE swp_keyword');
52
        $this->addSql('DROP TABLE swp_article_keyword');
53
    }
54
}
55