Passed
Push — master ( 390509...c5d55f )
by Yannick
09:12 queued 20s
created

Version20240423101010::up()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 46
Code Lines 43

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 1 Features 0
Metric Value
cc 2
eloc 43
c 1
b 1
f 0
nc 2
nop 1
dl 0
loc 46
rs 9.232
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
class Version20240423101010 extends AbstractMigrationChamilo
13
{
14
    public function getDescription(): string
15
    {
16
        return 'Clean up settings_current table from settings if those were previously added (during development). Does not affect production environment migrating properly.';
17
    }
18
19
    public function up(Schema $schema): void
20
    {
21
        if ($schema->hasTable('settings_current')) {
22
            // Adding author_id and setting the foreign key
23
            $this->addSql('DELETE FROM settings_current WHERE variable = "announcements_hide_send_to_hrm_users"');
24
            $this->addSql('DELETE FROM settings_current WHERE variable = "display_upcoming_events"');
25
            $this->addSql('DELETE FROM settings_current WHERE variable = "hide_header_footer"');
26
            $this->addSql('DELETE FROM settings_current WHERE variable = "homepage_view"');
27
            $this->addSql('DELETE FROM settings_current WHERE variable = "show_tool_shortcuts"');
28
            $this->addSql('DELETE FROM settings_current WHERE variable = "enable_wami_record"');
29
            $this->addSql('DELETE FROM settings_current WHERE variable = "allow_personal_user_files"');
30
            $this->addSql('DELETE FROM settings_current WHERE variable = "if_file_exists_option"');
31
            $this->addSql('DELETE FROM settings_current WHERE variable = "math_mimetex"');
32
            $this->addSql('DELETE FROM settings_current WHERE variable = "quiz_question_allow_inter_course_linking"');
33
            $this->addSql('DELETE FROM settings_current WHERE variable = "gradebook_show_percentage_in_reports"');
34
            $this->addSql('DELETE FROM settings_current WHERE variable = "gradebook_enable_best_score"');
35
            $this->addSql('DELETE FROM settings_current WHERE variable = "fixed_encoding"');
36
            $this->addSql('DELETE FROM settings_current WHERE variable = "hosting_total_size_limit"');
37
            $this->addSql('DELETE FROM settings_current WHERE variable = "mail_template_system"');
38
            $this->addSql('DELETE FROM settings_current WHERE variable = "cron_notification_mails"');
39
            $this->addSql('DELETE FROM settings_current WHERE variable = "enable_message_tags"');
40
            $this->addSql('DELETE FROM settings_current WHERE variable = "keep_old_images_after_delete"');
41
            $this->addSql('DELETE FROM settings_current WHERE variable = "theme_fallback"');
42
            $this->addSql('DELETE FROM settings_current WHERE variable = "sync_db_with_schema"');
43
            $this->addSql('DELETE FROM settings_current WHERE variable = "allow_portfolio_tool"');
44
            $this->addSql('DELETE FROM settings_current WHERE variable = "session_stored_in_db_as_backup"');
45
            $this->addSql('DELETE FROM settings_current WHERE variable = "memcache_server"');
46
            $this->addSql('DELETE FROM settings_current WHERE variable = "session_stored_after_n_times"');
47
            $this->addSql('DELETE FROM settings_current WHERE variable = "default_template"');
48
            $this->addSql('DELETE FROM settings_current WHERE variable = "aspell_bin"');
49
            $this->addSql('DELETE FROM settings_current WHERE variable = "aspell_opts"');
50
            $this->addSql('DELETE FROM settings_current WHERE variable = "aspell_temp_dir"');
51
            $this->addSql('DELETE FROM settings_current WHERE variable = "plugin_settings"');
52
            $this->addSql('DELETE FROM settings_current WHERE variable = "is_editable"');
53
            $this->addSql('DELETE FROM settings_current WHERE variable = "number_of_upcoming_events"');
54
            $this->addSql('DELETE FROM settings_current WHERE variable = "allow_browser_sniffer"');
55
            $this->addSql('DELETE FROM settings_current WHERE variable = "session_tutor_reports_visibility"');
56
            $this->addSql('DELETE FROM settings_current WHERE variable = "session_page_enabled"');
57
            $this->addSql('DELETE FROM settings_current WHERE variable = "allow_session_status"');
58
            $this->addSql('DELETE FROM settings_current WHERE variable = "allow_required_survey_questions"');
59
            $this->addSql('DELETE FROM settings_current WHERE variable = "allow_survey_availability_datetime"');
60
            $this->addSql('DELETE FROM settings_current WHERE variable = "survey_question_dependency"');
61
            $this->addSql('DELETE FROM settings_current WHERE variable = "allow_mandatory_survey"');
62
            $this->addSql('DELETE FROM settings_current WHERE variable = "allow_survey_tool_in_lp"');
63
            $this->addSql('DELETE FROM settings_current WHERE variable = "decode_utf8"');
64
            $this->addSql('DELETE FROM settings_current WHERE variable = "admin_chamilo_announcements_disable"');
65
        }
66
    }
67
68
    public function down(Schema $schema): void
69
    {
70
        if ($schema->hasTable('settings_current')) {
71
            // There is no reversion because this is a clean-up of issues fixed later during development
72
        }
73
    }
74
}
75