Completed
Push — master ( e48710...5fe26c )
by Rafał
40:26 queued 26:25
created

Version20190429114044::up()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 21

Duplication

Lines 21
Ratio 100 %

Importance

Changes 0
Metric Value
dl 21
loc 21
rs 9.584
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace SWP\Migrations;
6
7
use Doctrine\DBAL\Schema\Schema;
8
use Doctrine\Migrations\AbstractMigration;
9
10
/**
11
 * Auto-generated Migration: Please modify to your needs!
12
 */
13
final class Version20190429114044 extends AbstractMigration
14
{
15 View Code Duplication
    public function up(Schema $schema): void
0 ignored issues
show
Duplication introduced by
This method 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...
16
    {
17
        // this up() migration is auto-generated, please modify it to your needs
18
        $this->abortIf('postgresql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'postgresql\'.');
19
20
        $this->addSql('CREATE SEQUENCE swp_article_seo_media_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
21
        $this->addSql('CREATE SEQUENCE swp_article_seo_metadata_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
22
        $this->addSql('CREATE TABLE swp_article_seo_media (id INT NOT NULL, image_id INT DEFAULT NULL, key VARCHAR(255) NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, PRIMARY KEY(id))');
23
        $this->addSql('CREATE INDEX IDX_AE10DDE73DA5256D ON swp_article_seo_media (image_id)');
24
        $this->addSql('CREATE TABLE swp_article_seo_metadata (id INT NOT NULL, seo_meta_media_id INT DEFAULT NULL, seo_og_media_id INT DEFAULT NULL, seo_twitter_media_id INT DEFAULT NULL, meta_title VARCHAR(255) DEFAULT NULL, meta_description VARCHAR(255) DEFAULT NULL, og_title VARCHAR(255) DEFAULT NULL, og_description VARCHAR(255) DEFAULT NULL, twitter_title VARCHAR(255) DEFAULT NULL, twitter_description VARCHAR(255) DEFAULT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, PRIMARY KEY(id))');
25
        $this->addSql('CREATE UNIQUE INDEX UNIQ_464641EC7156AE72 ON swp_article_seo_metadata (seo_meta_media_id)');
26
        $this->addSql('CREATE UNIQUE INDEX UNIQ_464641EC7DA1692C ON swp_article_seo_metadata (seo_og_media_id)');
27
        $this->addSql('CREATE UNIQUE INDEX UNIQ_464641ECBF702C21 ON swp_article_seo_metadata (seo_twitter_media_id)');
28
        $this->addSql('ALTER TABLE swp_article_seo_media ADD CONSTRAINT FK_AE10DDE73DA5256D FOREIGN KEY (image_id) REFERENCES swp_image (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
29
        $this->addSql('ALTER TABLE swp_article_seo_metadata ADD CONSTRAINT FK_464641EC7156AE72 FOREIGN KEY (seo_meta_media_id) REFERENCES swp_article_seo_media (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
30
        $this->addSql('ALTER TABLE swp_article_seo_metadata ADD CONSTRAINT FK_464641EC7DA1692C FOREIGN KEY (seo_og_media_id) REFERENCES swp_article_seo_media (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
31
        $this->addSql('ALTER TABLE swp_article_seo_metadata ADD CONSTRAINT FK_464641ECBF702C21 FOREIGN KEY (seo_twitter_media_id) REFERENCES swp_article_seo_media (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
32
        $this->addSql('ALTER TABLE swp_article ADD seo_metadata_id INT DEFAULT NULL');
33
        $this->addSql('ALTER TABLE swp_article ADD CONSTRAINT FK_FB21E85818F9C0D5 FOREIGN KEY (seo_metadata_id) REFERENCES swp_article_seo_metadata (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
34
        $this->addSql('CREATE UNIQUE INDEX UNIQ_FB21E85818F9C0D5 ON swp_article (seo_metadata_id)');
35
    }
36
37
    public function down(Schema $schema): void
38
    {
39
        // this down() migration is auto-generated, please modify it to your needs
40
        $this->abortIf('postgresql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'postgresql\'.');
41
42
        $this->addSql('ALTER TABLE swp_article_seo_metadata DROP CONSTRAINT FK_464641EC7156AE72');
43
        $this->addSql('ALTER TABLE swp_article_seo_metadata DROP CONSTRAINT FK_464641EC7DA1692C');
44
        $this->addSql('ALTER TABLE swp_article_seo_metadata DROP CONSTRAINT FK_464641ECBF702C21');
45
        $this->addSql('ALTER TABLE swp_article DROP CONSTRAINT FK_FB21E85818F9C0D5');
46
        $this->addSql('DROP SEQUENCE swp_article_seo_media_id_seq CASCADE');
47
        $this->addSql('DROP SEQUENCE swp_article_seo_metadata_id_seq CASCADE');
48
        $this->addSql('DROP TABLE swp_article_seo_media');
49
        $this->addSql('DROP TABLE swp_article_seo_metadata');
50
        $this->addSql('DROP INDEX UNIQ_FB21E85818F9C0D5');
51
        $this->addSql('ALTER TABLE swp_article DROP seo_metadata_id');
52
    }
53
}
54