Passed
Push — master ( 3fcb32...49d6fc )
by Julito
09:27
created

Version20190210182615::down()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 0

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 0
nc 1
nop 1
dl 0
loc 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
/* For licensing terms, see /license.txt */
6
7
namespace Chamilo\CoreBundle\Migrations\Schema\V200;
8
9
use Chamilo\CoreBundle\Migrations\AbstractMigrationChamilo;
10
use Doctrine\DBAL\Schema\Schema;
11
12
/**
13
 * Session.
14
 */
15
class Version20190210182615 extends AbstractMigrationChamilo
16
{
17
    public function up(Schema $schema): void
18
    {
19
        $table = $schema->getTable('session');
20
        if (false === $table->hasColumn('position')) {
21
            $this->addSql('ALTER TABLE session ADD COLUMN position INT DEFAULT 0 NOT NULL');
22
        } else {
23
            $this->addSql('ALTER TABLE session CHANGE position position INT DEFAULT 0 NOT NULL');
24
        }
25
26
        $this->addSql('UPDATE session SET promotion_id = NULL WHERE promotion_id = 0');
27
        if (false === $table->hasForeignKey('FK_D044D5D4139DF194')) {
28
            $this->addSql('ALTER TABLE session ADD CONSTRAINT FK_D044D5D4139DF194 FOREIGN KEY (promotion_id) REFERENCES promotion (id) ON DELETE CASCADE');
29
            $this->addSql('CREATE INDEX IDX_D044D5D4139DF194 ON session (promotion_id);');
30
        }
31
32
        if (false === $table->hasColumn('status')) {
33
            $this->addSql('ALTER TABLE session ADD COLUMN status INT NOT NULL');
34
        }
35
36
        if (false === $table->hasForeignKey('FK_D044D5D4EF87E278')) {
37
            $this->addSql('ALTER TABLE session ADD CONSTRAINT FK_D044D5D4EF87E278 FOREIGN KEY(session_admin_id) REFERENCES user(id);');
38
        }
39
40
        $this->addSql('UPDATE session_category SET date_start = NULL WHERE date_start = "0000-00-00"');
41
        $this->addSql('UPDATE session_category SET date_end = NULL WHERE date_end = "0000-00-00"');
42
43
        $table = $schema->getTable('session_rel_course_rel_user');
44
        if ($table->hasForeignKey('FK_720167E91D79BD3')) {
45
            $this->addSql('ALTER TABLE session_rel_course_rel_user DROP FOREIGN KEY FK_720167E91D79BD3');
46
            $this->addSql('ALTER TABLE session_rel_course_rel_user ADD CONSTRAINT FK_720167E91D79BD3 FOREIGN KEY (c_id) REFERENCES course (id) ON DELETE CASCADE');
47
        } else {
48
            $this->addSql('ALTER TABLE session_rel_course_rel_user ADD CONSTRAINT FK_720167E91D79BD3 FOREIGN KEY (c_id) REFERENCES course (id) ON DELETE CASCADE');
49
        }
50
    }
51
52
    public function down(Schema $schema): void
53
    {
54
    }
55
}
56