Passed
Push — master ( ba053b...7ca6ce )
by
unknown
12:08
created

Version20240811221900::up()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 74
Code Lines 63

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 2
Metric Value
cc 1
eloc 63
c 2
b 0
f 2
nc 1
nop 1
dl 0
loc 74
rs 8.8072

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

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
final class Version20240811221900 extends AbstractMigrationChamilo
13
{
14
    public function getDescription(): string
15
    {
16
        return 'Migration for modifying existing tables: block, c_blog, c_blog_attachment, c_blog_comment, c_blog_post, c_blog_rating, c_blog_rel_user, c_blog_task, and c_blog_task_rel_user.';
17
    }
18
19
    public function up(Schema $schema): void
20
    {
21
        $this->addSql('ALTER TABLE block ADD user_id INT DEFAULT NULL;');
22
        $this->addSql('ALTER TABLE block ADD CONSTRAINT FK_831B9722A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE;');
23
        $this->addSql('CREATE UNIQUE INDEX UNIQ_831B9722A76ED395 ON block (user_id);');
24
25
        $this->addSql('DROP INDEX course ON c_blog_attachment;');
26
        $this->addSql('ALTER TABLE c_blog_attachment DROP id, DROP c_id, DROP post_id, DROP comment_id, CHANGE blog_id blog_id INT DEFAULT NULL;');
27
        $this->addSql('DELETE FROM c_blog_attachment WHERE blog_id NOT IN (SELECT iid FROM c_blog);');
28
        $this->addSql('ALTER TABLE c_blog_attachment ADD CONSTRAINT FK_E769AADCDAE07E97 FOREIGN KEY (blog_id) REFERENCES c_blog (iid) ON DELETE CASCADE;');
29
        $this->addSql('CREATE INDEX IDX_E769AADCDAE07E97 ON c_blog_attachment (blog_id);');
30
31
        $this->addSql('DROP INDEX course ON c_blog_rating;');
32
        $this->addSql('ALTER TABLE c_blog_rating DROP rating_id, DROP c_id, DROP item_id, CHANGE blog_id blog_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL;');
33
        $this->addSql('DELETE FROM c_blog_rating WHERE blog_id NOT IN (SELECT iid FROM c_blog);');
34
        $this->addSql('ALTER TABLE c_blog_rating ADD CONSTRAINT FK_D4E30760DAE07E97 FOREIGN KEY (blog_id) REFERENCES c_blog (iid) ON DELETE CASCADE;');
35
        $this->addSql('DELETE FROM c_blog_rating WHERE user_id NOT IN (SELECT id FROM user);');
36
        $this->addSql('ALTER TABLE c_blog_rating ADD CONSTRAINT FK_D4E30760A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE;');
37
        $this->addSql('CREATE INDEX IDX_D4E30760DAE07E97 ON c_blog_rating (blog_id);');
38
        $this->addSql('CREATE INDEX IDX_D4E30760A76ED395 ON c_blog_rating (user_id);');
39
40
        $this->addSql('DROP INDEX course ON c_blog_post;');
41
        $this->addSql('ALTER TABLE c_blog_post DROP c_id, DROP post_id, CHANGE blog_id blog_id INT DEFAULT NULL, CHANGE author_id author_id INT DEFAULT NULL;');
42
        $this->addSql('DELETE FROM c_blog_post WHERE author_id NOT IN (SELECT id FROM user);');
43
        $this->addSql('ALTER TABLE c_blog_post ADD CONSTRAINT FK_B6FD68A3F675F31B FOREIGN KEY (author_id) REFERENCES user (id) ON DELETE CASCADE;');
44
        $this->addSql('DELETE FROM c_blog_post WHERE blog_id NOT IN (SELECT iid FROM c_blog);');
45
        $this->addSql('ALTER TABLE c_blog_post ADD CONSTRAINT FK_B6FD68A3DAE07E97 FOREIGN KEY (blog_id) REFERENCES c_blog (iid) ON DELETE CASCADE;');
46
        $this->addSql('CREATE INDEX IDX_B6FD68A3F675F31B ON c_blog_post (author_id);');
47
        $this->addSql('CREATE INDEX IDX_B6FD68A3DAE07E97 ON c_blog_post (blog_id);');
48
49
        $this->addSql('DROP INDEX course ON c_blog_rel_user;');
50
        $this->addSql('ALTER TABLE c_blog_rel_user DROP c_id, CHANGE blog_id blog_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL;');
51
        $this->addSql('DELETE FROM c_blog_rel_user WHERE blog_id NOT IN (SELECT iid FROM c_blog);');
52
        $this->addSql('ALTER TABLE c_blog_rel_user ADD CONSTRAINT FK_B55D851BDAE07E97 FOREIGN KEY (blog_id) REFERENCES c_blog (iid) ON DELETE CASCADE;');
53
        $this->addSql('DELETE FROM c_blog_rel_user WHERE user_id NOT IN (SELECT id FROM user);');
54
        $this->addSql('ALTER TABLE c_blog_rel_user ADD CONSTRAINT FK_B55D851BA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE;');
55
        $this->addSql('CREATE INDEX IDX_B55D851BDAE07E97 ON c_blog_rel_user (blog_id);');
56
        $this->addSql('CREATE INDEX IDX_B55D851BA76ED395 ON c_blog_rel_user (user_id);');
57
58
        $this->addSql('DROP INDEX course ON c_blog_task_rel_user;');
59
        $this->addSql('DROP INDEX user ON c_blog_task_rel_user;');
60
        $this->addSql('DROP INDEX task ON c_blog_task_rel_user;');
61
        $this->addSql('ALTER TABLE c_blog_task_rel_user DROP c_id, CHANGE blog_id blog_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL, CHANGE task_id task_id INT DEFAULT NULL;');
62
        $this->addSql('DELETE FROM c_blog_task_rel_user WHERE task_id NOT IN (SELECT iid FROM c_blog_task);');
63
        $this->addSql('ALTER TABLE c_blog_task_rel_user ADD CONSTRAINT FK_FD8B3C738DB60186 FOREIGN KEY (task_id) REFERENCES c_blog_task (iid) ON DELETE CASCADE;');
64
        $this->addSql('DELETE FROM c_blog_task_rel_user WHERE blog_id NOT IN (SELECT iid FROM c_blog);');
65
        $this->addSql('ALTER TABLE c_blog_task_rel_user ADD CONSTRAINT FK_FD8B3C73DAE07E97 FOREIGN KEY (blog_id) REFERENCES c_blog (iid) ON DELETE CASCADE;');
66
        $this->addSql('DELETE FROM c_blog_task_rel_user WHERE user_id NOT IN (SELECT id FROM user);');
67
        $this->addSql('ALTER TABLE c_blog_task_rel_user ADD CONSTRAINT FK_FD8B3C73A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE;');
68
        $this->addSql('CREATE INDEX IDX_FD8B3C73DAE07E97 ON c_blog_task_rel_user (blog_id);');
69
        $this->addSql('CREATE INDEX IDX_FD8B3C738DB60186 ON c_blog_task_rel_user (task_id);');
70
        $this->addSql('CREATE INDEX IDX_FD8B3C73A76ED395 ON c_blog_task_rel_user (user_id);');
71
72
        $this->addSql('DROP INDEX course ON c_blog;');
73
        $this->addSql('DROP INDEX session_id ON c_blog;');
74
        $this->addSql('ALTER TABLE c_blog DROP c_id, DROP blog_id, DROP visibility, DROP session_id;');
75
        $this->addSql('ALTER TABLE c_blog ADD CONSTRAINT FK_64B00A121BAD783F FOREIGN KEY (resource_node_id) REFERENCES resource_node (id) ON DELETE CASCADE;');
76
77
        $this->addSql('ALTER TABLE c_lp_category_rel_user DROP FOREIGN KEY FK_61F0427A76ED395;');
78
79
        $this->addSql('DROP INDEX course ON c_blog_task;');
80
        $this->addSql('ALTER TABLE c_blog_task DROP c_id, CHANGE blog_id blog_id INT DEFAULT NULL;');
81
        $this->addSql('DELETE FROM c_blog_task WHERE blog_id NOT IN (SELECT iid FROM c_blog);');
82
        $this->addSql('ALTER TABLE c_blog_task ADD CONSTRAINT FK_BE09DF0BDAE07E97 FOREIGN KEY (blog_id) REFERENCES c_blog (iid) ON DELETE CASCADE;');
83
        $this->addSql('CREATE INDEX IDX_BE09DF0BDAE07E97 ON c_blog_task (blog_id);');
84
85
        $this->addSql('DROP INDEX course ON c_blog_comment;');
86
        $this->addSql('ALTER TABLE c_blog_comment DROP c_id, DROP post_id, DROP task_id, DROP parent_comment_id, CHANGE author_id author_id INT DEFAULT NULL, CHANGE blog_id blog_id INT DEFAULT NULL;');
87
        $this->addSql('DELETE FROM c_blog_comment WHERE author_id NOT IN (SELECT id FROM user);');
88
        $this->addSql('ALTER TABLE c_blog_comment ADD CONSTRAINT FK_CAA18F1F675F31B FOREIGN KEY (author_id) REFERENCES user (id) ON DELETE CASCADE;');
89
        $this->addSql('DELETE FROM c_blog_comment WHERE blog_id NOT IN (SELECT iid FROM c_blog);');
90
        $this->addSql('ALTER TABLE c_blog_comment ADD CONSTRAINT FK_CAA18F1DAE07E97 FOREIGN KEY (blog_id) REFERENCES c_blog (iid) ON DELETE CASCADE;');
91
        $this->addSql('CREATE INDEX IDX_CAA18F1F675F31B ON c_blog_comment (author_id);');
92
        $this->addSql('CREATE INDEX IDX_CAA18F1DAE07E97 ON c_blog_comment (blog_id);');
93
    }
94
95
    public function down(Schema $schema): void
96
    {
97
        $this->addSql('ALTER TABLE block DROP FOREIGN KEY FK_831B9722A76ED395;');
98
        $this->addSql('ALTER TABLE block DROP COLUMN user_id;');
99
        $this->addSql('DROP INDEX UNIQ_831B9722A76ED395 ON block;');
100
101
        $this->addSql('ALTER TABLE c_blog_attachment DROP FOREIGN KEY FK_E769AADCDAE07E97;');
102
        $this->addSql('ALTER TABLE c_blog_attachment ADD c_id INT NOT NULL, ADD post_id INT NOT NULL, ADD comment_id INT NOT NULL;');
103
        $this->addSql('ALTER TABLE c_blog_attachment ADD id INT NOT NULL;');
104
        $this->addSql('DROP INDEX IDX_E769AADCDAE07E97 ON c_blog_attachment;');
105
        $this->addSql('CREATE INDEX course ON c_blog_attachment (c_id);');
106
107
        $this->addSql('ALTER TABLE c_blog_rating DROP FOREIGN KEY FK_D4E30760DAE07E97;');
108
        $this->addSql('ALTER TABLE c_blog_rating DROP FOREIGN KEY FK_D4E30760A76ED395;');
109
        $this->addSql('ALTER TABLE c_blog_rating ADD c_id INT NOT NULL, ADD rating_id INT NOT NULL, ADD item_id INT NOT NULL;');
110
        $this->addSql('DROP INDEX IDX_D4E30760DAE07E97 ON c_blog_rating;');
111
        $this->addSql('DROP INDEX IDX_D4E30760A76ED395 ON c_blog_rating;');
112
        $this->addSql('CREATE INDEX course ON c_blog_rating (c_id);');
113
114
        $this->addSql('ALTER TABLE c_survey_question_option DROP FOREIGN KEY FK_C4B6F5F1E27F6BF;');
115
        $this->addSql('ALTER TABLE c_survey_question_option ADD CONSTRAINT FK_C4B6F5F1E27F6BF FOREIGN KEY (question_id) REFERENCES c_survey_question (iid);');
116
117
        $this->addSql('ALTER TABLE c_blog_post DROP FOREIGN KEY FK_B6FD68A3F675F31B;');
118
        $this->addSql('ALTER TABLE c_blog_post DROP FOREIGN KEY FK_B6FD68A3DAE07E97;');
119
        $this->addSql('ALTER TABLE c_blog_post ADD c_id INT NOT NULL, ADD post_id INT NOT NULL;');
120
        $this->addSql('DROP INDEX IDX_B6FD68A3F675F31B ON c_blog_post;');
121
        $this->addSql('DROP INDEX IDX_B6FD68A3DAE07E97 ON c_blog_post;');
122
        $this->addSql('CREATE INDEX course ON c_blog_post (c_id);');
123
124
        $this->addSql('ALTER TABLE c_blog_rel_user DROP FOREIGN KEY FK_B55D851BDAE07E97;');
125
        $this->addSql('ALTER TABLE c_blog_rel_user DROP FOREIGN KEY FK_B55D851BA76ED395;');
126
        $this->addSql('ALTER TABLE c_blog_rel_user ADD c_id INT NOT NULL;');
127
        $this->addSql('DROP INDEX IDX_B55D851BDAE07E97 ON c_blog_rel_user;');
128
        $this->addSql('DROP INDEX IDX_B55D851BA76ED395 ON c_blog_rel_user;');
129
        $this->addSql('CREATE INDEX course ON c_blog_rel_user (c_id);');
130
131
        $this->addSql('ALTER TABLE c_blog_task_rel_user DROP FOREIGN KEY FK_FD8B3C738DB60186;');
132
        $this->addSql('ALTER TABLE c_blog_task_rel_user DROP FOREIGN KEY FK_FD8B3C73DAE07E97;');
133
        $this->addSql('ALTER TABLE c_blog_task_rel_user DROP FOREIGN KEY FK_FD8B3C73A76ED395;');
134
        $this->addSql('ALTER TABLE c_blog_task_rel_user ADD c_id INT NOT NULL;');
135
        $this->addSql('ALTER TABLE c_blog_task_rel_user ADD task_id INT NOT NULL, ADD user_id INT NOT NULL;');
136
        $this->addSql('DROP INDEX IDX_FD8B3C73DAE07E97 ON c_blog_task_rel_user;');
137
        $this->addSql('DROP INDEX IDX_FD8B3C738DB60186 ON c_blog_task_rel_user;');
138
        $this->addSql('DROP INDEX IDX_FD8B3C73A76ED395 ON c_blog_task_rel_user;');
139
        $this->addSql('CREATE INDEX course ON c_blog_task_rel_user (c_id);');
140
        $this->addSql('CREATE INDEX task ON c_blog_task_rel_user (task_id);');
141
        $this->addSql('CREATE INDEX user ON c_blog_task_rel_user (user_id);');
142
143
        $this->addSql('ALTER TABLE c_blog DROP FOREIGN KEY FK_64B00A121BAD783F;');
144
        $this->addSql('ALTER TABLE c_blog ADD c_id INT NOT NULL, ADD blog_id INT NOT NULL, ADD visibility TINYINT(1) NOT NULL, ADD session_id INT DEFAULT NULL;');
145
        $this->addSql('DROP INDEX UNIQ_64B00A121BAD783F ON c_blog;');
146
        $this->addSql('CREATE INDEX course ON c_blog (c_id);');
147
        $this->addSql('CREATE INDEX session_id ON c_blog (session_id);');
148
149
        $this->addSql('ALTER TABLE c_lp_category_rel_user ADD CONSTRAINT FK_61F0427A76ED395 FOREIGN KEY (c_id) REFERENCES course (id);');
150
151
        $this->addSql('ALTER TABLE c_blog_task DROP FOREIGN KEY FK_BE09DF0BDAE07E97;');
152
        $this->addSql('ALTER TABLE c_blog_task ADD c_id INT NOT NULL;');
153
        $this->addSql('DROP INDEX IDX_BE09DF0BDAE07E97 ON c_blog_task;');
154
        $this->addSql('CREATE INDEX course ON c_blog_task (c_id);');
155
156
        $this->addSql('ALTER TABLE c_blog_comment DROP FOREIGN KEY FK_CAA18F1F675F31B;');
157
        $this->addSql('ALTER TABLE c_blog_comment DROP FOREIGN KEY FK_CAA18F1DAE07E97;');
158
        $this->addSql('ALTER TABLE c_blog_comment ADD c_id INT NOT NULL, ADD post_id INT NOT NULL, ADD task_id INT NOT NULL, ADD parent_comment_id INT NOT NULL;');
159
        $this->addSql('DROP INDEX IDX_CAA18F1F675F31B ON c_blog_comment;');
160
        $this->addSql('DROP INDEX IDX_CAA18F1DAE07E97 ON c_blog_comment;');
161
        $this->addSql('CREATE INDEX course ON c_blog_comment (c_id);');
162
    }
163
}
164