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

Version20170608091640   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 29
Duplicated Lines 100 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A up() 11 11 1
A down() 8 8 1

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

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 View Code Duplication
class Version20170608091640 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...
Duplication introduced by
This class seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

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('ALTER TABLE swp_rule ADD description VARCHAR(255) DEFAULT NULL');
22
        $this->addSql('ALTER TABLE swp_rule ADD name VARCHAR(255) DEFAULT NULL');
23
        $this->addSql('UPDATE swp_article SET package_id = (SELECT p.id FROM swp_package AS p WHERE p.guid = code ORDER BY p.id DESC LIMIT 1)');
24
        $this->addSql('delete from swp_article where is_publishable = false and package_id = (select p.id from swp_package as p where p.guid = code order by p.id desc limit 1)');
25
        $this->addSql('update swp_package set status = \'published\' where (select count(*) from swp_article as a where a.package_id = id) > 0');
26
    }
27
28
    /**
29
     * @param Schema $schema
30
     */
31
    public function down(Schema $schema)
32
    {
33
        // this down() migration is auto-generated, please modify it to your needs
34
        $this->abortIf('postgresql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'postgresql\'.');
35
36
        $this->addSql('ALTER TABLE swp_rule DROP description');
37
        $this->addSql('ALTER TABLE swp_rule DROP name');
38
    }
39
}
40