Completed
Push — master ( 19732d...076741 )
by Paweł
11:47
created

Version20170302121124   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A up() 0 13 1
A down() 0 12 1
1
<?php
2
3
namespace SWP\Migrations;
4
5
use Doctrine\DBAL\Migrations\AbstractMigration;
6
use Doctrine\DBAL\Schema\Schema;
7
8
/**
9
 * Auto-generated Migration: Please modify to your needs!
10
 */
11
class Version20170302121124 extends AbstractMigration
0 ignored issues
show
Deprecated Code introduced by
The class Doctrine\DBAL\Migrations\AbstractMigration has been deprecated with message: Please use Doctrine\Migrations\AbstractMigration

This class, trait or interface has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the type will be removed from the class and what other constant to use instead.

Loading history...
12
{
13
    /**
14
     * @param Schema $schema
15
     */
16
    public function up(Schema $schema)
17
    {
18
        // this up() migration is auto-generated, please modify it to your needs
19
        $this->abortIf('postgresql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'postgresql\'.');
20
21
        $this->addSql('DROP INDEX swp_article_slug_idx');
22
        $this->addSql('ALTER TABLE swp_article ADD organization_id INT DEFAULT NULL');
23
        $this->addSql('ALTER TABLE swp_article ADD CONSTRAINT FK_FB21E85832C8A3DE FOREIGN KEY (organization_id) REFERENCES swp_organization (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
24
        $this->addSql('CREATE INDEX IDX_FB21E85832C8A3DE ON swp_article (organization_id)');
25
        $this->addSql('CREATE UNIQUE INDEX swp_article_slug_idx ON swp_article (slug, tenant_code, organization_id)');
26
        $this->addSql('ALTER TABLE swp_article ALTER tenant_code DROP NOT NULL');
27
        $this->addSql('UPDATE swp_article SET organization_id = (SELECT t.organization_id FROM swp_tenant AS t WHERE tenant_code = t.code)');
28
    }
29
30
    /**
31
     * @param Schema $schema
32
     */
33
    public function down(Schema $schema)
34
    {
35
        // this down() migration is auto-generated, please modify it to your needs
36
        $this->abortIf('postgresql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'postgresql\'.');
37
38
        $this->addSql('ALTER TABLE swp_article DROP CONSTRAINT FK_FB21E85832C8A3DE');
39
        $this->addSql('DROP INDEX IDX_FB21E85832C8A3DE');
40
        $this->addSql('DROP INDEX swp_article_slug_idx');
41
        $this->addSql('ALTER TABLE swp_article DROP organization_id');
42
        $this->addSql('CREATE UNIQUE INDEX swp_article_slug_idx ON swp_article (slug, tenant_code)');
43
        $this->addSql('ALTER TABLE swp_article ALTER tenant_code SET NOT NULL');
44
    }
45
}
46