Passed
Push — master ( 4959cd...65a92c )
by Marcel
17:47
created

Version20221220163720::down()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 16
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 11
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 16
rs 9.9
1
<?php
2
3
declare(strict_types=1);
4
5
namespace DoctrineMigrations;
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 Version20221220163720 extends AbstractMigration
14
{
15
    public function getDescription(): string
16
    {
17
        return '';
18
    }
19
20
    private function removeSettings(): void {
21
        // Remove all settings (CAUTION: THIS IS IRREVERSIBLE)
22
        $settingsToRemove = [
23
            'notifications.email.user_types',
24
            'substitutions.absences.visibility',
25
            'notifications.web_push.user_types',
26
            'exams.visibility'
27
        ];
28
29
        foreach($settingsToRemove as $settingName) {
30
            $this->addSql('DELETE FROM setting WHERE `key` = ?', [ $settingName ]);
31
        }
32
    }
33
34
    public function up(Schema $schema): void
35
    {
36
        // this up() migration is auto-generated, please modify it to your needs
37
        $this->addSql('ALTER TABLE display CHANGE target_user_type target_user_type VARCHAR(255) NOT NULL');
38
        $this->addSql('ALTER TABLE grade_teacher CHANGE type type VARCHAR(255) NOT NULL');
39
        $this->addSql('ALTER TABLE ics_access_token CHANGE type type VARCHAR(255) NOT NULL');
40
        $this->addSql('ALTER TABLE message CHANGE scope scope VARCHAR(255) NOT NULL');
41
        $this->addSql('ALTER TABLE message CHANGE priority priority VARCHAR(255) NOT NULL');
42
        $this->addSql('ALTER TABLE student CHANGE gender gender VARCHAR(255) NOT NULL');
43
        $this->addSql('ALTER TABLE study_group CHANGE type type VARCHAR(255) NOT NULL');
44
        $this->addSql('ALTER TABLE teacher CHANGE gender gender VARCHAR(255) NOT NULL');
45
        $this->addSql('ALTER TABLE user CHANGE user_type user_type VARCHAR(255) NOT NULL');
46
        $this->addSql('ALTER TABLE user_type_entity CHANGE user_type user_type VARCHAR(255) NOT NULL');
47
48
        $this->removeSettings();
49
    }
50
51
    public function down(Schema $schema): void
52
    {
53
        // this down() migration is auto-generated, please modify it to your needs
54
        $this->addSql('ALTER TABLE display CHANGE target_user_type target_user_type VARCHAR(255) NOT NULL COMMENT \'(DC2Type:display_target_user_type)\'');
55
        $this->addSql('ALTER TABLE grade_teacher CHANGE type type VARCHAR(255) NOT NULL COMMENT \'(DC2Type:grade_teacher_type)\'');
56
        $this->addSql('ALTER TABLE ics_access_token CHANGE type type VARCHAR(255) NOT NULL COMMENT \'(DC2Type:ics_access_token_type)\'');
57
        $this->addSql('ALTER TABLE message CHANGE scope scope VARCHAR(255) NOT NULL COMMENT \'(DC2Type:message_scope)\'');
58
        $this->addSql('ALTER TABLE message CHANGE priority priority VARCHAR(255) NOT NULL COMMENT \'(DC2Type:message_priority)\'');
59
        $this->addSql('ALTER TABLE student CHANGE gender gender VARCHAR(255) NOT NULL COMMENT \'(DC2Type:gender)\'');
60
        $this->addSql('ALTER TABLE study_group CHANGE type type VARCHAR(255) NOT NULL COMMENT \'(DC2Type:study_group_type)\'');
61
        $this->addSql('ALTER TABLE teacher CHANGE gender gender VARCHAR(255) NOT NULL COMMENT \'(DC2Type:gender)\'');
62
        $this->addSql('ALTER TABLE user CHANGE user_type user_type VARCHAR(255) NOT NULL COMMENT \'(DC2Type:user_type)\'');
63
        $this->addSql('ALTER TABLE user_type_entity CHANGE user_type user_type VARCHAR(255) NOT NULL COMMENT \'(DC2Type:user_type)\'');
64
65
66
        $this->removeSettings();
67
    }
68
}
69