Completed
Push — master ( bb2d64...78fd01 )
by Paweł
24s
created

Version20170913125128   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
B up() 0 28 1
A down() 0 7 1
1
<?php
2
3
namespace Sylius\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 Version20170913125128 extends AbstractMigration
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($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
20
21
        $this->addSql('ALTER TABLE sylius_order_item ADD product_name VARCHAR(255), ADD variant_name VARCHAR(255)');
22
23
        $this->addSql('
24
                        UPDATE sylius_order_item 
25
                        INNER JOIN sylius_order ON sylius_order_item.order_id = sylius_order.id 
26
                        INNER JOIN sylius_product_variant ON sylius_order_item.variant_id = sylius_product_variant.id 
27
                        INNER JOIN sylius_product ON sylius_product_variant.product_id = sylius_product.id  
28
                        INNER JOIN sylius_product_translation ON sylius_product_translation.translatable_id = sylius_product.id
29
                        SET sylius_order_item.product_name = sylius_product_translation.name 
30
                        WHERE sylius_product_translation.locale = sylius_order.locale_code
31
       
32
        ');
33
        $this->addSql('
34
                        UPDATE sylius_order_item 
35
                        INNER JOIN sylius_order ON sylius_order_item.order_id = sylius_order.id 
36
                        INNER JOIN sylius_product_variant ON sylius_order_item.variant_id = sylius_product_variant.id 
37
                        INNER JOIN sylius_product_variant_translation ON sylius_product_variant_translation.translatable_id = sylius_product_variant.id
38
                        SET sylius_order_item.variant_name = sylius_product_variant_translation.name 
39
                        WHERE sylius_product_variant_translation.locale = sylius_order.locale_code
40
        ');
41
42
        $this->addSql('ALTER TABLE sylius_order_item CHANGE product_name product_name VARCHAR(255) DEFAULT NULL, CHANGE variant_name variant_name VARCHAR(255) DEFAULT NULL');
43
    }
44
45
    /**
46
     * @param Schema $schema
47
     */
48
    public function down(Schema $schema)
49
    {
50
        // this down() migration is auto-generated, please modify it to your needs
51
        $this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
52
53
        $this->addSql('ALTER TABLE sylius_order_item DROP product_name, DROP variant_name');
54
    }
55
}
56