Passed
Branch master (bbfb46)
by Jan
22:41 queued 14:44
created

Migration1536232900CmsBlock   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 31
dl 0
loc 43
rs 10
c 0
b 0
f 0
1
<?php declare(strict_types=1);
2
3
namespace Shopware\Core\Migration;
4
5
use Doctrine\DBAL\Connection;
6
use Shopware\Core\Framework\Migration\MigrationStep;
7
8
class Migration1536232900CmsBlock extends MigrationStep
9
{
10
    public function getCreationTimestamp(): int
11
    {
12
        return 1536232900;
13
    }
14
15
    public function update(Connection $connection): void
16
    {
17
        $sql = <<<SQL
18
            CREATE TABLE `cms_block` (
19
              `id` BINARY(16) NOT NULL,
20
              `cms_page_id` BINARY(16) NOT NULL,
21
              `position` INT(11) NOT NULL,
22
              `type` VARCHAR(255) NOT NULL,
23
              `name`  VARCHAR(255) NULL,
24
              `locked` tinyint(1) NOT NULL DEFAULT '0',
25
              `sizing_mode` VARCHAR(255) NULL,
26
              `margin_top` VARCHAR(255) NULL,
27
              `margin_bottom` VARCHAR(255) NULL,
28
              `margin_left` VARCHAR(255) NULL,
29
              `margin_right` VARCHAR(255) NULL,
30
              `background_color` VARCHAR(255) NULL,
31
              `background_media_id` BINARY(16) NULL,
32
              `background_media_mode` VARCHAR(255) NULL,
33
              `css_class` VARCHAR(255) NULL,
34
              `custom_fields` JSON NULL,
35
              `created_at` DATETIME(3) NOT NULL,
36
              `updated_at` DATETIME(3) NULL,
37
              PRIMARY KEY (`id`),
38
              CONSTRAINT `fk.cms_block.cms_page_id` FOREIGN KEY (`cms_page_id`)
39
                REFERENCES `cms_page` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
40
              CONSTRAINT `fk.cms_block.background_media_id` FOREIGN KEY (`background_media_id`)
41
                REFERENCES `media` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE,
42
              CONSTRAINT `json.cms_block.custom_fields` CHECK (JSON_VALID(`custom_fields`))
43
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
44
SQL;
45
46
        $connection->executeQuery($sql);
47
    }
48
49
    public function updateDestructive(Connection $connection): void
50
    {
51
    }
52
}
53