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

Version20190210182615   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
eloc 22
dl 0
loc 39
rs 10
c 2
b 0
f 1
wmc 7

2 Methods

Rating   Name   Duplication   Size   Complexity  
B up() 0 32 6
A down() 0 2 1
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