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

Version20170913125128::down()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 3
nc 1
nop 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