|
1
|
|
|
<?php |
|
2
|
|
|
|
|
3
|
|
|
namespace SWP\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 Version20170302121124 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('postgresql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'postgresql\'.'); |
|
20
|
|
|
|
|
21
|
|
|
$this->addSql('DROP INDEX swp_article_slug_idx'); |
|
22
|
|
|
$this->addSql('ALTER TABLE swp_article ADD organization_id INT DEFAULT NULL'); |
|
23
|
|
|
$this->addSql('ALTER TABLE swp_article ADD CONSTRAINT FK_FB21E85832C8A3DE FOREIGN KEY (organization_id) REFERENCES swp_organization (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); |
|
24
|
|
|
$this->addSql('CREATE INDEX IDX_FB21E85832C8A3DE ON swp_article (organization_id)'); |
|
25
|
|
|
$this->addSql('CREATE UNIQUE INDEX swp_article_slug_idx ON swp_article (slug, tenant_code, organization_id)'); |
|
26
|
|
|
$this->addSql('ALTER TABLE swp_article ALTER tenant_code DROP NOT NULL'); |
|
27
|
|
|
$this->addSql('UPDATE swp_article SET organization_id = (SELECT t.organization_id FROM swp_tenant AS t WHERE tenant_code = t.code)'); |
|
28
|
|
|
} |
|
29
|
|
|
|
|
30
|
|
|
/** |
|
31
|
|
|
* @param Schema $schema |
|
32
|
|
|
*/ |
|
33
|
|
|
public function down(Schema $schema) |
|
34
|
|
|
{ |
|
35
|
|
|
// this down() migration is auto-generated, please modify it to your needs |
|
36
|
|
|
$this->abortIf('postgresql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'postgresql\'.'); |
|
37
|
|
|
|
|
38
|
|
|
$this->addSql('ALTER TABLE swp_article DROP CONSTRAINT FK_FB21E85832C8A3DE'); |
|
39
|
|
|
$this->addSql('DROP INDEX IDX_FB21E85832C8A3DE'); |
|
40
|
|
|
$this->addSql('DROP INDEX swp_article_slug_idx'); |
|
41
|
|
|
$this->addSql('ALTER TABLE swp_article DROP organization_id'); |
|
42
|
|
|
$this->addSql('CREATE UNIQUE INDEX swp_article_slug_idx ON swp_article (slug, tenant_code)'); |
|
43
|
|
|
$this->addSql('ALTER TABLE swp_article ALTER tenant_code SET NOT NULL'); |
|
44
|
|
|
} |
|
45
|
|
|
} |
|
46
|
|
|
|
This class, trait or interface has been deprecated. The supplier of the file has supplied an explanatory message.
The explanatory message should give you some clue as to whether and when the type will be removed from the class and what other constant to use instead.