Passed
Push — master ( c83bf1...0c3c7b )
by Julito
09:39
created

Version20170626122900::up()   B

Complexity

Conditions 8
Paths 128

Size

Total Lines 39
Code Lines 27

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 1 Features 0
Metric Value
cc 8
eloc 27
nc 128
nop 1
dl 0
loc 39
rs 8.2111
c 1
b 1
f 0
1
<?php
2
3
/* For licensing terms, see /license.txt */
4
5
namespace Chamilo\CoreBundle\Migrations\Schema\V200;
6
7
use Chamilo\CoreBundle\Entity\ExtraField;
8
use Chamilo\CoreBundle\Migrations\AbstractMigrationChamilo;
9
use Chamilo\CourseBundle\Entity\CSurvey;
10
use Doctrine\DBAL\Schema\Schema;
11
12
class Version20170626122900 extends AbstractMigrationChamilo
13
{
14
    public function up(Schema $schema): void
15
    {
16
        $table = $schema->getTable('user');
17
        if (!$table->hasColumn('date_of_birth')) {
18
            $this->addSql('ALTER TABLE user ADD date_of_birth DATETIME DEFAULT NULL');
19
        }
20
        if (!$table->hasColumn('website')) {
21
            $this->addSql('ALTER TABLE user ADD website VARCHAR(255) DEFAULT NULL');
22
        }
23
        if (!$table->hasColumn('biography')) {
24
            $this->addSql('ALTER TABLE user ADD biography VARCHAR(1000) DEFAULT NULL');
25
        }
26
        if (!$table->hasColumn('gender')) {
27
            $this->addSql('ALTER TABLE user ADD gender VARCHAR(1) DEFAULT NULL');
28
        }
29
        if (!$table->hasColumn('locale')) {
30
            $this->addSql('ALTER TABLE user ADD locale VARCHAR(8) DEFAULT NULL');
31
        }
32
        if (!$table->hasColumn('timezone')) {
33
            $this->addSql('ALTER TABLE user ADD timezone VARCHAR(64) DEFAULT NULL');
34
        }
35
36
        if (!$table->hasColumn('confirmation_token')) {
37
            $this->addSql('ALTER TABLE user ADD confirmation_token VARCHAR(180) DEFAULT NULL');
38
            $this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D649C05FB297 ON user (confirmation_token)');
39
        } else {
40
            $this->addSql('ALTER TABLE user CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL');
41
        }
42
43
        $this->addSql('ALTER TABLE user CHANGE username_canonical username_canonical VARCHAR(180) NOT NULL');
44
        $this->addSql('ALTER TABLE user CHANGE lastname lastname VARCHAR(64) DEFAULT NULL');
45
        $this->addSql('ALTER TABLE user CHANGE firstname firstname VARCHAR(64) DEFAULT NULL');
46
        $this->addSql('ALTER TABLE user CHANGE phone phone VARCHAR(64) DEFAULT NULL');
47
        $this->addSql('ALTER TABLE user CHANGE salt salt VARCHAR(255) DEFAULT NULL');
48
        $this->addSql(
49
            'UPDATE user SET created_at = registration_date WHERE CAST(created_at AS CHAR(20)) = "0000-00-00 00:00:00"'
50
        );
51
        $this->addSql(
52
            'UPDATE user SET updated_at = registration_date WHERE CAST(updated_at AS CHAR(20)) = "0000-00-00 00:00:00"'
53
        );
54
    }
55
56
    public function down(Schema $schema): void
57
    {
58
    }
59
}
60