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
|
|
|
|